四元數結構
四維向量,用來表示旋轉。
四元數可以透過角度 theta 有效率地旋轉 (x、y、z) 向量的物件,其中 w = cos (theta/2) 。 四元數通常用於兩個角度之間的平滑插補,並避免使用 Euler 角度可能發生的 Gimbal 鎖定問題。
此類型僅適用于 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、音調和滾動角度建立四元數。 |
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) |
就地 nultiplies 依純量值四元數。 |
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 |
四元數的旋轉元件。 |
規格需求
需求 |
值 |
命名空間 |
Windows::Foundation::Numerics |
標頭 |
- Windowsnumerics.h
|
另請參閱
windowsnumerics.h API