次の方法で共有


四元数構造

回転を表すために使用される 4 次元ベクトル。

四元数を使用すると、(x, y, z) ベクトルを角度 θ (w = cos(theta/2) でオブジェクトを効率的に回転させることができます。 四元数は通常、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) これが ID (回転なし) 四元数であるかどうかを確認します。
float length(quaternion const& value) 四元数の長さを計算します。
float length_squared(quaternion const& value) 四元数の長さを 2 乗して計算します。
float dot(quaternion const& quaternion1, quaternion const& quaternion2) 2 つの四元数のドット積を計算します。
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) 球面線形補間を使用して 2 つの四元数の間を補間します。
quaternion lerp(quaternion const& quaternion1, quaternion const& quaternion2, float amount) 2 つの四元数の間を線形補間します。
quaternion concatenate(quaternion const& value1, quaternion const& value2) 2 つの四元数を連結します。結果は、最初の回転とそれに続く 2 番目の回転を表します。

メソッド

名前 Description
static quaternion identity() ID 四元数のインスタンスを返します。

演算子

名前 Description
quaternion operator+ (quaternion const& value1, quaternion const& value2) 2 つの四元数を追加します。
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) インプレースでは、2 つの四元数が追加されます。
quaternion& operator-= (quaternion& value1, quaternion const& value2) インプレースでは、別の四元数から四元数を減算します。
quaternion& operator*= (quaternion& value1, quaternion const& value2) インプレースでは、四元数に別の四元数を乗算します。
quaternion& operator*= (quaternion& value1, float value2) インプレース nultiplies aquaternion by a scalar value.
quaternion& operator/= (quaternion& value1, quaternion const& value2) インプレースでは、四元数が別の四元数で除算されます。
bool operator== (quaternion const& value1, quaternion const& value2) 四元数の 2 つのインスタンスが等しいかどうかを判断します。
bool operator!= (quaternion const& value1, quaternion const& value2) 四元数の 2 つのインスタンスが等しくないかどうかを判断します。
operator Microsoft::?Graphics::?Canvas::?Numerics::?Quaternion() const 四元数を Microsoft.Graphics.Canvas.Numerics.Quaternion に変換します

フィールド

名前 Description
float x 四元数のベクトル 成分の X 値。
float y 四元数のベクトル 成分の Y 値。
float z 四元数のベクトル 成分の Z 値。
float w 四元数の回転コンポーネント。

要件

要件
名前空間 Windows::Foundation::Numerics
ヘッダー
Windowsnumerics.h

関連項目

windowsnumerics.h API