Share via


Quaternion 構造体

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]

4 次元ベクター (x、y、z、w) を記述します。

名前空間:  Microsoft.WindowsMobile.DirectX
アセンブリ:  Microsoft.WindowsMobile.DirectX (Microsoft.WindowsMobile.DirectX.dll 内)

構文

'宣言
Public Structure Quaternion
'使用
Dim instance As Quaternion
public struct Quaternion
public value class Quaternion
[<SealedAttribute>]
type Quaternion =  struct end

解説

四元数は、3 次元の回転の概念を 4 次元の回転に拡張します。四元数を使用すると、(x、y、z) ベクターの回りに角度 theta 分だけオブジェクトを回転させることができます。ここで、w = cos(theta/2) です。四元数の演算は、変換や回転に使用する 4 × 4 行列の乗算よりも効率的に計算できます。また、四元数は、オブジェクトの 2 つの方向の間を補間する最も効率的な回転を表します。

四元数は、ベクターを定義する [x, y, z] 値に 4 つ目の要素を追加することによって、任意の 4-D ベクターを作成します。ただし、次の数式は、単位四元数の各要素が回転軸と回転角度にどのように関連するかを示しています。ここで、q は単位四元数 (x、y、z、w) を表し、軸は正規化されています。また、theta は、軸を中心とした反時計回り (CCW: CounterClockWise) の回転です。

q.x = sin(theta/2) * axis.x
q.y = sin(theta/2) * axis.y
q.z = sin(theta/2) * axis.z
q.w = cos(theta/2)

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

プラットフォーム

Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET フレームワークのシステム要件」を参照してください。

バージョン情報

.NET Compact Framework

サポート対象 : 3.5、2.0

参照

参照

Quaternion メンバー

Microsoft.WindowsMobile.DirectX 名前空間

その他の技術情報

.NET Compact Framework でモバイル Direct3D プログラミング