ランタイム
Mix::Quaternion Class Reference

クォータニオンクラス More...

#include <Quaternion.h>

Public Member Functions

 Quaternion (void)
 コンストラクタ More...
 
 Quaternion (const Quaternion &q)
 コピーコンストラクタ More...
 
 Quaternion (Float32 qx, Float32 qy, Float32 qz, Float32 qw)
 コンストラクタ More...
 
 Quaternion (const Mix::Vector3 &axis, Float32 angle)
 コンストラクタ More...
 
 ~Quaternion (void)
 デストラクタ More...
 
void SetRotationAxis (const Mix::Vector3 &axis, Float32 angle)
 任意の軸での回転を設定します More...
 
void RotationAxis (const Mix::Vector3 &axis, Float32 angle)
 任意の軸で回転させます More...
 
Mix::Vector3 GetAxis (void) const
 軸を取得します More...
 
Float32 GetAngle (void) const
 角度(ラジアン単位)を取得します More...
 
void Normalize (void)
 正規化します More...
 
Quaternion ToNormalize (void) const
 正規化したクォータニオンを取得します More...
 
void Inverse (void)
 反転します More...
 
Quaternion ToInverse (void) const
 反転したクォータニオンを取得します More...
 
Boolean operator== (const Quaternion &q) const
 等価比較 More...
 
Boolean operator!= (const Quaternion &q) const
 等価比較 More...
 
Quaternionoperator= (const Quaternion &q)
 代入 More...
 
Quaternionoperator+= (const Quaternion &q)
 代入加算 More...
 
Quaternionoperator-= (const Quaternion &q)
 代入減算 More...
 
Quaternionoperator*= (const Quaternion &q)
 代入乗算 More...
 
Quaternionoperator*= (Float32 v)
 代入乗算 More...
 
Quaternion operator+ (const Quaternion &q) const
 加算 More...
 
Quaternion operator- (const Quaternion &q) const
 減算 More...
 
Quaternion operator* (const Quaternion &q) const
 乗算 More...
 
Quaternion operator* (Float32 v) const
 乗算 More...
 
Quaternion operator- (void) const
 符号を反転します More...
 

Static Public Member Functions

static Float32 Dot (const Mix::Quaternion &l, const Mix::Quaternion &r)
 二つのクォータニオンの内積を求めます More...
 
static Mix::Quaternion Cross (const Mix::Quaternion &l, const Mix::Quaternion &r)
 二つのクォータニオンの外積を求めます More...
 
static Mix::Quaternion Difference (const Mix::Quaternion &from, const Mix::Quaternion &to)
 二つのクォータニオンの差分を求めます More...
 
static Quaternion Slerp (const Mix::Quaternion &qs, const Mix::Quaternion &qd, Float32 t)
 球面線形補間 More...
 
static const Mix::QuaternionIdentity (void)
 初期値( 0.0f, 0.0f, 0.0f, 1.0f )を取得します More...
 

Public Attributes

union {
   Float32   data [4]
 成分配列 More...
 
   struct {
      Float32   x
 X成分 More...
 
      Float32   y
 Y成分 More...
 
      Float32   z
 Z成分 More...
 
      Float32   w
 W成分 More...
 
   } 
 
}; 
 

Detailed Description

クォータニオンクラス

Constructor & Destructor Documentation

Mix::Quaternion::Quaternion ( void  )

コンストラクタ

Mix::Quaternion::Quaternion ( const Quaternion q)

コピーコンストラクタ

Parameters
[in]qクォータニオン
Mix::Quaternion::Quaternion ( Float32  qx,
Float32  qy,
Float32  qz,
Float32  qw 
)

コンストラクタ

Parameters
[in]qxX成分
[in]qyY成分
[in]qzZ成分
[in]qwW成分
Mix::Quaternion::Quaternion ( const Mix::Vector3 axis,
Float32  angle 
)

コンストラクタ

Parameters
[in]axis
[in]angle回転の角度(ラジアン単位)
Mix::Quaternion::~Quaternion ( void  )

デストラクタ

Member Function Documentation

void Mix::Quaternion::SetRotationAxis ( const Mix::Vector3 axis,
Float32  angle 
)

任意の軸での回転を設定します

Parameters
[in]axis
[in]angle回転の角度(ラジアン単位)
void Mix::Quaternion::RotationAxis ( const Mix::Vector3 axis,
Float32  angle 
)

任意の軸で回転させます

Parameters
[in]axis
[in]angle回転の角度(ラジアン単位)
Mix::Vector3 Mix::Quaternion::GetAxis ( void  ) const

軸を取得します

Returns
軸を表す Mix::Vector3 クラスを返します
Float32 Mix::Quaternion::GetAngle ( void  ) const

角度(ラジアン単位)を取得します

Returns
角度を返します
void Mix::Quaternion::Normalize ( void  )

正規化します

Quaternion Mix::Quaternion::ToNormalize ( void  ) const

正規化したクォータニオンを取得します

Returns
正規化したクォータニオン
void Mix::Quaternion::Inverse ( void  )

反転します

Quaternion Mix::Quaternion::ToInverse ( void  ) const

反転したクォータニオンを取得します

Returns
反転したクォータニオン
Boolean Mix::Quaternion::operator== ( const Quaternion q) const

等価比較

Parameters
[in]q比較するクォータニオン
Returns
等しい場合は True を返します
Boolean Mix::Quaternion::operator!= ( const Quaternion q) const

等価比較

Parameters
[in]q比較するクォータニオン
Returns
等しくない場合は True を返します
Quaternion& Mix::Quaternion::operator= ( const Quaternion q)

代入

Parameters
[in]q代入する値
Returns
代入された値
Quaternion& Mix::Quaternion::operator+= ( const Quaternion q)

代入加算

Parameters
[in]q加算する値
Returns
加算された値
Quaternion& Mix::Quaternion::operator-= ( const Quaternion q)

代入減算

Parameters
[in]q減算する値
Returns
減算された値
Quaternion& Mix::Quaternion::operator*= ( const Quaternion q)

代入乗算

Parameters
[in]q乗算する値
Returns
乗算された値
Quaternion& Mix::Quaternion::operator*= ( Float32  v)

代入乗算

Parameters
[in]v乗算する値
Returns
乗算された値
Quaternion Mix::Quaternion::operator+ ( const Quaternion q) const

加算

Parameters
[in]q加算する値
Returns
結果
Quaternion Mix::Quaternion::operator- ( const Quaternion q) const

減算

Parameters
[in]q減算する値
Returns
結果
Quaternion Mix::Quaternion::operator* ( const Quaternion q) const

乗算

Parameters
[in]q乗算する値
Returns
結果
Quaternion Mix::Quaternion::operator* ( Float32  v) const

乗算

Parameters
[in]v乗算する値
Returns
結果
Quaternion Mix::Quaternion::operator- ( void  ) const

符号を反転します

Returns
符号を反転したクォータニオンを返します
static Float32 Mix::Quaternion::Dot ( const Mix::Quaternion l,
const Mix::Quaternion r 
)
static

二つのクォータニオンの内積を求めます

Parameters
[in]lクォータニオンA
[in]rクォータニオンB
Returns
内積を返します
static Mix::Quaternion Mix::Quaternion::Cross ( const Mix::Quaternion l,
const Mix::Quaternion r 
)
static

二つのクォータニオンの外積を求めます

Parameters
[in]lクォータニオンA
[in]rクォータニオンB
Returns
外積を返します
static Mix::Quaternion Mix::Quaternion::Difference ( const Mix::Quaternion from,
const Mix::Quaternion to 
)
static

二つのクォータニオンの差分を求めます

Parameters
[in]fromクォータニオンA
[in]toクォータニオンB
Returns
差分を返します
static Quaternion Mix::Quaternion::Slerp ( const Mix::Quaternion qs,
const Mix::Quaternion qd,
Float32  t 
)
static

球面線形補間

Parameters
[in]qs補間を開始するクォータニオンを表す Mix::Quaternion クラス
[in]qd補間を終了するクォータニオンを表す Mix::Quaternion クラス
[in]t補間係数( 0.0f〜1.0f ) return 補間されたクォータニオンを表す Mix::Quaternion クラスを返します
static const Mix::Quaternion& Mix::Quaternion::Identity ( void  )
inlinestatic

初期値( 0.0f, 0.0f, 0.0f, 1.0f )を取得します

Returns
初期値を表す Mix::Quaternion クラスを返します

Member Data Documentation

Float32 Mix::Quaternion::data[4]

成分配列

Float32 Mix::Quaternion::x

X成分

Float32 Mix::Quaternion::y

Y成分

Float32 Mix::Quaternion::z

Z成分

Float32 Mix::Quaternion::w

W成分

union { ... }

The documentation for this class was generated from the following file: