四元数クラス
概要
四元数クラスは、実部と虚部で4つの実数をもつユーザーデータ型の変数である。
これを使用することで、複素数の計算を簡単に行うことができる。
C++のライブラリであるEigenのEigen::Quaternion<double>を使用しており、実装されている関数の一部もこれらに基づく。
また、UnityEngine.Quaternionの一部関数などを移植、もしくは参考にしている。
quaternionにある関数で使用できるほか、四元数クラス同士の四則演算や比較演算が可能。
また、四元数クラス自体にメタテーブルを設定しているため、textmodule.quaternion.new(2, 1, 3, 4):conj()のような呼び出しも可能である。
メタテーブル
table:_
パラメータ 型 概要
w function quaternion.w
x function quaternion.x
y function quaternion.y
z function quaternion.z
__tostring function tostring関数を使用した時を定義したメタメソッド。quaternion:__tostring
__add function 四元数クラス同士の加算(+)を定義したメタメソッド。quaternion:__add
__sub function 四元数クラス同士の減算(-)を定義したメタメソッド。quaternion:__sub
__mul function 四元数クラス同士の乗算(*)を定義したメタメソッド。quaternion:__mul
__div function 四元数クラス同士の除算(/)を定義したメタメソッド。quaternion:__div
__unm function 四元数クラスの符号の反転(単項の -)を定義したメタメソッド。quaternion:__unm
__lt function 四元数クラス同士の比較(<)を定義したメタメソッド。quaternion:__lt
__le function 四元数クラス同士の比較(<=)を定義したメタメソッド。quaternion:__le
__newindex function 複素数クラスの添字代入を定義したメタメソッド。quaternion:__newindex
__call function quaternion:__call
__type function quaternion:__type
__tonumber function quaternion:__tonumber
__abs function quaternion.abs
__norm function quaternion.norm
__conj function quaternion.conj
__dot function quaternion.dot
__cross function quaternion.cross
__lerp function quaternion.slerp
__normalize function quaternion.normalize
euler function quaternion.euler
inverse function quaternion.inverse
table function quaternion.table