Dandelion 1.1.1
A light-weight 3D builder for educational usage
载入中...
搜索中...
未找到
math.hpp 文件参考

这个文件提供一些方便使用的数学函数。 更多...

#include <cmath>
#include <tuple>
#include <Eigen/Core>

浏览该文件的源代码.

函数

template<typename 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()
 

详细描述

这个文件提供一些方便使用的数学函数。

函数说明

◆ pi< double >()

template<>
double pi< double > ( )
inlineconstexpr

返回 double 类型的特化。

◆ pi< float >()

template<>
float pi< float > ( )
inlineconstexpr

返回 float 类型的特化。

变量说明

◆ I3f

const Eigen::Matrix3f I3f = Eigen::Matrix3f::Identity()

由于 Eigen 的 Identity 方法返回的并非 Matrix 实例,在此创建一个含义相同的矩阵。

◆ I4f

const Eigen::Matrix4f I4f = Eigen::Matrix4f::Identity()

由于 Eigen 的 Identity 方法返回的并非 Matrix 实例,在此创建一个含义相同的矩阵。