四维向量,用于表示旋转。
四元数可以通过角度 theta 有效地旋转有关 (x, y, z) 向量的对象,其中 w = cos(theta/2)。 四元数通常用于两个角度之间的平滑内插,并避免尤勒角度可能发生的巨无常锁问题。
此类型仅在 C++ 中可用。 它的 .NET 等效项是 System.Numerics.Quaternion。
构造函数
名称 |
DESCRIPTION |
quaternion() |
创建未初始化的四元数。 |
quaternion(float x, float y, float z, float w) |
创建具有指定值的四元数。 |
quaternion(float3 vectorPart, float scalarPart) |
从 float3 和标量创建四元数。 |
quaternion(Microsoft::?Graphics::?Canvas::?Numerics::?Quaternion const& value) |
将 Microsoft.Graphics.Canvas.Numerics.Quaternion 转换为四元数。 |
功能
名称 |
DESCRIPTION |
quaternion make_quaternion_from_axis_angle(float3 const& axis, float angle) |
从向量和角度创建四元数以围绕向量旋转。 |
quaternion make_quaternion_from_yaw_pitch_roll(float yaw, float pitch, float roll) |
从指定的偏航、俯仰和滚动角度创建四元数。 |
quaternion make_quaternion_from_rotation_matrix(float4x4 const& matrix) |
从旋转矩阵创建四元数。 |
bool is_identity(quaternion const& value) |
检查这是否为标识(无旋转)四元数。 |
float length(quaternion const& value) |
计算四元数的长度。 |
float length_squared(quaternion const& value) |
计算四元数的平方长度。 |
float dot(quaternion const& quaternion1, quaternion const& quaternion2) |
计算两个四元数的点积。 |
quaternion normalize(quaternion const& value) |
将四元数的每个分量除以四元数的长度。 |
quaternion conjugate(quaternion const& value) |
计算四元数的串联。 |
quaternion inverse(quaternion const& value) |
计算四元数的反数。 |
quaternion slerp(quaternion const& quaternion1, quaternion const& quaternion2, float amount) |
使用球面线性内插在两个四元数之间。 |
quaternion lerp(quaternion const& quaternion1, quaternion const& quaternion2, float amount) |
在两个四元数之间线性内插。 |
quaternion concatenate(quaternion const& value1, quaternion const& value2) |
连接两个四元数;结果表示第一个旋转后跟第二个旋转。 |
方法
名称 |
DESCRIPTION |
static quaternion identity() |
返回标识四元数的实例。 |
运营商
名称 |
DESCRIPTION |
quaternion operator+ (quaternion const& value1, quaternion const& value2) |
添加两个四元数。 |
quaternion operator- (quaternion const& value1, quaternion const& value2) |
从另一个四元数中减去四元数。 |
quaternion operator* (quaternion const& value1, quaternion const& value2) |
将四元数乘以另一个四元数。 |
quaternion operator* (quaternion const& value1, float value2) |
将四元数乘以标量值。 |
quaternion operator/ (quaternion const& value1, quaternion const& value2) |
将四元数除以另一个四元数。 |
quaternion operator- (quaternion const& value) |
翻转四元数的每个组成部分的符号。 |
quaternion& operator+= (quaternion& value1, quaternion const& value2) |
就地添加两个四元数。 |
quaternion& operator-= (quaternion& value1, quaternion const& value2) |
就地减去另一个四元数的四元数。 |
quaternion& operator*= (quaternion& value1, quaternion const& value2) |
就地将四元数乘以另一个四元数。 |
quaternion& operator*= (quaternion& value1, float value2) |
就地将四元数乘以标量值。 |
quaternion& operator/= (quaternion& value1, quaternion const& value2) |
就地将四元数除以另一个四元数。 |
bool operator== (quaternion const& value1, quaternion const& value2) |
确定四元数的两个实例是否相等。 |
bool operator!= (quaternion const& value1, quaternion const& value2) |
确定四元数的两个实例是否不相等。 |
operator Microsoft::?Graphics::?Canvas::?Numerics::?Quaternion() const |
将四元数转换为 Microsoft.Graphics.Canvas.Numerics.Quaternion。 |
领域
名称 |
DESCRIPTION |
float x |
四元数的向量组件的 X 值。 |
float y |
四元数的向量组件的 Y 值。 |
float z |
四元数的向量组件的 Z 值。 |
float w |
四元数的旋转组件。 |
要求
要求 |
价值 |
Namespace |
Windows::Foundation::Numerics |
标题 |
- Windowsnumerics.h
|
另请参阅
windowsnumerics.h API