四維向量,用來表示旋轉。
四元數可以有效率地旋轉物件繞著角度 the (x, y, z) 向量,其中 w = cos(theta/2)。 四元數通常用於兩個角度之間的平滑插補,並避免尤勒角度可能發生的巨星鎖定問題。
此類型僅適用於 C++。 其 .NET 對等專案是 System.Numerics.Quaternion。
建構函數
名稱 |
說明 |
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 轉換為四元數。 |
功能
名稱 |
說明 |
quaternion make_quaternion_from_axis_angle(float3 const& axis, float angle) |
從向量和角度建立四元數,以繞向量旋轉。 |
quaternion make_quaternion_from_yaw_pitch_roll(float yaw, float pitch, float roll) |
從指定的 yaw、pitch 和 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) |
串連兩個四元數:結果代表第一個旋轉,後面接著第二個旋轉。 |
方法
名稱 |
說明 |
static quaternion identity() |
傳回識別四元數的實例。 |
運營商
名稱 |
說明 |
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。 |
領域
名稱 |
說明 |
float x |
四元數之向量元件的 X 值。 |
float y |
四元數之向量元件的 Y 值。 |
float z |
四元數向量元件的 Z 值。 |
float w |
四元數的旋轉元件。 |
需求
要求 |
價值觀 |
Namespace |
Windows::Foundation::Numerics |
頁首 |
- Windowsnumerics.h
|
另請參閱
windowsnumerics.h API