![]() |
Dandelion 2.0.0
A light-weight 3D builder for educational usage
|
这个文件提供一些方便使用的数学函数。 更多...
#include <cmath>#include <tuple>#include <Eigen/Core>函数 | |
| template<typename T> | |
| T | pi () |
| 返回 float 或 double 类型的 \(\pi\) 值。 | |
| template<> | |
| constexpr double | pi< double > () |
| template<> | |
| constexpr float | pi< float > () |
| template<typename T> | |
| constexpr T | radians (T degrees) |
| 将角度转换为弧度。 | |
| template<typename T> | |
| constexpr T | degrees (T radians) |
| 将弧度转换为角度。 | |
| template<typename T> | |
| constexpr T | squ (T x) |
| 求一个数的平方。 | |
| template<typename T> | |
| constexpr T | clamp (T low, T high, T value) |
| 将一个数截断在给定的上下界之间 | |
| template<typename T> | |
| constexpr Eigen::Vector< T, 4 > | to_vec4 (Eigen::Vector< T, 3 > vec3) |
| 将代表方向的三维向量转换为它的齐次坐标形式。 | |
| Eigen::Vector3f | reflect (const Eigen::Vector3f &I, const Eigen::Vector3f &N) |
| 求向量 \(\mathbf{I}\) 关于向量 \(\mathbf{N}\) 的反射。 | |
| template<typename T> | |
| constexpr T | sign (T x) |
| 符号函数,正数的求值结果为 1,负数为 -1,零的求值结果是 0. | |
| template<typename T> | |
| std::tuple< T, T, T > | quaternion_to_ZYX_euler (T w, T x, T y, T z) |
| 将旋转的四元数表示形式转换为 ZYX 欧拉角表示形式。 | |
变量 | |
| const Eigen::Matrix3f | I3f = Eigen::Matrix3f::Identity() |
| const Eigen::Matrix4f | I4f = Eigen::Matrix4f::Identity() |
这个文件提供一些方便使用的数学函数。
|
inlineconstexpr |
返回 double 类型的特化。
|
inlineconstexpr |
返回 float 类型的特化。
| const Eigen::Matrix3f I3f = Eigen::Matrix3f::Identity() |
由于 Eigen 的 Identity 方法返回的并非 Matrix 实例,在此创建一个含义相同的矩阵。
| const Eigen::Matrix4f I4f = Eigen::Matrix4f::Identity() |
由于 Eigen 的 Identity 方法返回的并非 Matrix 实例,在此创建一个含义相同的矩阵。