カト
四元数を表すインターフェース。 クォータニオンは(x、y、z、w)座標で表され、3次元回転を表す。 クオータニオンは、Mat4のインターフェイスを使って4x4の回転行列に変換したり、4x4の回転行列から変換したりすることができる。 Quaternionオブジェクトは、ecs.math.quat QuatFactory、または他のQuatオブジェクトの操作によって作成されます。
ソース
QuatSourceインターフェイスは、x、y、z、wのプロパティを持つオブジェクトを表し、Quatを作成するためのデータソースとして使用することができます。 加えて、QuatSourceはQuatアルゴリズムの引数として使用することができ、{x: 数、y: 数、z: 数、w: 数}プロパティを持つ任意のオブジェクトを使用できることを意味する。
プロパティ一覧
クアットは以下の列挙可能な特性を持つ:
readonly x: number
四元数のx成分にアクセスする。
readonly y: number`` 四元数のy成分にアクセスする。
readonly z: number
四元数のz成分にアクセスする。
readonly w: number
四元 数のw成分にアクセスする。
工場
軸角度
軸角度表現からQuatを作成する。 aaベクトルの方向は回転軸を表し、ベクトルの大きさはラジアン単位の角度を表す。 例えば、quat.axisAngle(vec3.up().scale(Math.PI / 2))は、Y軸に対して90度の回転を表し、quat.yDegrees(90)と等価です。 targetが与えられた場合、結果はtargetに格納され、targetが返される。 そうでない場合は、新しいQuatが作成されて返される。
ecs.math.quat.axisAngle(aa: Vec3Source, target?: Quat) // -> quat
より
x、y、z、wのプロパティを持つオブジェクトからQuatを作成する。
ecs.math.quat.from({x, y, z, w}: {x: 数, y: 数, z: 数, w: 数) // -> quat
ルックアット
eye'に位置するオブジェクトが'target'に位置するオブジェクトを見るために必要な回転を表すQuatを、与えられた'up vector'で作成する。
ecs.math.quat.lookAt(eye: Vec3Source, target: Vec3Source, up: Vec3Source) // -> quat
ピッチヨーロール度
YXZオイラー角としても知られるピッチ/ヨー/ロール表現からクォータニオンを構成する。 回転は度単位で指定する。
ecs.math.quat.pitchYawRollDegrees(v: Vec3Source) // -> quat
ピッチヨーロールラジアン
YXZオイラー角としても知られるピッチ/ヨー/ロール表現からクォータニオンを構成する。 回転はラジアン単位で指定する。
ecs.math.quat.pitchYawRollRadians(v: Vec3Source) // -> quat
x度
X軸の回転を表すQuatを作成する。 回転は度単位で指定する。
ecs.math.quat.xDegrees(degrees: number) // -> quat
xラジアン
X軸の回転を表すQuatを作成する。 回転はラジアン単位で指定する。
ecs.math.quat.xRadians(radians: number) // -> quat
xyzw
x,y,z,wの値からQuatを作成する。
ecs.math.quat.xyzw(x: 数, y: 数, z: 数, w: 数) // -> quat
y度
Y軸の回転を表すQuatを作成する。 回転は度単位で指定する。
ecs.math.quat.yDegrees(degrees: number) // -> quat
イドラジアン
Y軸の回転を表すQuatを作成する。 回転はラジアン単位で指定する。
ecs.math.quat.yRadians(radians: number) // -> quat
z度
Z軸の回転を表すQuatを作成する。 回転は度単位で指定する。
ecs.math.quat.zDegrees(degrees: number) // -> quat
ゼットラジアン
Z軸の回転を表すQuatを作成する。 回転はラジアン単位で指定する。
ecs.math.quat.zRadians(radians: number) // -> quat
ゼロ
ゼロ回転を表すQuatを作成する。
ecs.math.quat.zero() // -> quat
不変
以下のメソッドは、クアットの内容を変更することなく、クアットの現在値を使用して計算を実行します。 Quat型を返すメソッドは、新しいインスタンスを作成する。 イミュータブルAPIは一般的に安全で、読みやすく、エラーの可能性を減らすことができるが、フレームごとに大量のオブジェクトが割り当てられると非効率になることがある。
ガベージ・コレクションがパフォーマンスに影響する場合は、後述するMutable APIの使用を検討してください。
軸角度
四元数を軸角度表現に変換する。 ベクトルの方向は回転軸を表し、ベクトルの大きさはラジアン単位の角度を表す。 target'が与えられた場合、結果は'target'に格納され、'target'が返される。 そうでない場合は、新しいVec3が作成されて返される。
existingQuat.axisAngle(target?: Vec3) // -> vec3
クローン
このクォータニオンと同じ成分を持つ新しいクォータニオンを作成する。
existingQuat.clone() // -> quat