メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

クラス テンプレート Spr::TQuaternion< ET >

4元数クラス. [詳細]

#include <TQuaternion.h>

PTM::TVectorBase<(4), TVecDesc< TQuaternion< ET >, ET > >を継承しています。

Spr::TQuaternion< ET >のコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

初期化・構築

Public 型

Public メソッド

変数アクセス

説明

template<class ET>
class Spr::TQuaternion< ET >

4元数クラス.

そのうち入れたい,オイラー角への変換. heading = atan2(2*qy*qw-2*qx*qz , 1 - 2*qy2 - 2*qz2) attitude = asin(2*qx*qy + 2*qz*qw) bank = atan2(2*qx*qw-2*qy*qz , 1 - 2*qx2 - 2*qz2)

except when qx*qy + qz*qw = 0.5 (north pole) which gives: heading = 2 * atan2(x,w) bank = 0 and when qx*qy + qz*qw = -0.5 (south pole) which gives: heading = -2 * atan2(x,w) bank = 0

TQuaternion.h の 28 行で定義されています。


型定義

template<class ET>
typedef TQuaternion Spr::TQuaternion< ET >::this_type
 

継承されない基本的なメンバの定義. ::DEF_TVECTOR_BASIC_MEMBER

TQuaternion.h の 33 行で定義されています。

template<class ET>
typedef PTM::TSubVector<3, desc> Spr::TQuaternion< ET >::vector_type
 

3次元の部分ベクトル

TQuaternion.h の 48 行で定義されています。


コンストラクタとデストラクタ

template<class ET>
Spr::TQuaternion< ET >::TQuaternion (  element_type  wi,
element_type  xi,
element_type  yi,
element_type  zi
)  [inline]
 

コンストラクタ

TQuaternion.h の 127 行で定義されています。


関数

template<class ET>
ET& Spr::TQuaternion< ET >::item_impl (  size_t  i  )  [inline]
 

要素のアクセス

TQuaternion.h の 41 行で定義されています。

template<class ET>
const ET& Spr::TQuaternion< ET >::item_impl (  size_t  i  )  const [inline]
 

要素のアクセス

TQuaternion.h の 43 行で定義されています。

template<class ET>
size_t Spr::TQuaternion< ET >::stride_impl (   )  const [inline]
 

ストライド

TQuaternion.h の 45 行で定義されています。

template<class ET>
const element_type& Spr::TQuaternion< ET >::W (   )  const [inline]
 

w成分

TQuaternion.h の 52 行で定義されています。

参照元 Spr::dot(), Spr::TQuaternion< float >::euler(), Spr::TQuaternion< float >::from_matrix(), Spr::operator *(), Spr::TQuaternion< float >::rotation(), Spr::TQuaternion< float >::rotation_arc(), Spr::TQuaternion< float >::rotation_half(), Spr::TQuaternion< float >::set_default(), Spr::TQuaternion< float >::theta(), Spr::TQuaternion< float >::to_eular(), と Spr::TQuaternion< float >::TQuaternion().

template<class ET>
const element_type& Spr::TQuaternion< ET >::X (   )  const [inline]
 

x成分

TQuaternion.h の 54 行で定義されています。

参照元 Spr::dot(), Spr::TQuaternion< float >::euler(), Spr::TQuaternion< float >::from_matrix(), Spr::operator *(), Spr::TQuaternion< float >::set_default(), Spr::TQuaternion< float >::to_eular(), と Spr::TQuaternion< float >::TQuaternion().

template<class ET>
const element_type& Spr::TQuaternion< ET >::Y (   )  const [inline]
 

y成分

TQuaternion.h の 56 行で定義されています。

参照元 Spr::dot(), Spr::TQuaternion< float >::euler(), Spr::TQuaternion< float >::from_matrix(), Spr::operator *(), Spr::TQuaternion< float >::set_default(), Spr::TQuaternion< float >::to_eular(), と Spr::TQuaternion< float >::TQuaternion().

template<class ET>
const element_type& Spr::TQuaternion< ET >::Z (   )  const [inline]
 

z成分

TQuaternion.h の 58 行で定義されています。

参照元 Spr::dot(), Spr::TQuaternion< float >::euler(), Spr::TQuaternion< float >::from_matrix(), Spr::operator *(), Spr::TQuaternion< float >::set_default(), Spr::TQuaternion< float >::to_eular(), と Spr::TQuaternion< float >::TQuaternion().

template<class ET>
element_type& Spr::TQuaternion< ET >::W (   )  [inline]
 

z成分

TQuaternion.h の 63 行で定義されています。

template<class ET>
element_type& Spr::TQuaternion< ET >::X (   )  [inline]
 

x成分

TQuaternion.h の 65 行で定義されています。

template<class ET>
element_type& Spr::TQuaternion< ET >::Y (   )  [inline]
 

y成分

TQuaternion.h の 67 行で定義されています。

template<class ET>
element_type& Spr::TQuaternion< ET >::Z (   )  [inline]
 

z成分

TQuaternion.h の 69 行で定義されています。

template<class ET>
TVec3<ET> Spr::TQuaternion< ET >::rotation_half (   )  [inline]
 

回転ベクトル.0..PIの範囲で回転ベクトルを返す.

TQuaternion.h の 73 行で定義されています。

template<class ET>
TVec3<ET> Spr::TQuaternion< ET >::rotation (   )  [inline]
 

回転ベクトル2. 0..2PIの範囲で回転ベクトルを返す. angle から関数名変更

TQuaternion.h の 89 行で定義されています。

参照元 Spr::PHJointBall::GetJointPosition().

template<class ET>
TVec3<ET> Spr::TQuaternion< ET >::axis (   )  [inline]
 

回転軸

TQuaternion.h の 105 行で定義されています。

template<class ET>
ET Spr::TQuaternion< ET >::theta (   )  [inline]
 

回転角度 (angleに関数名を変更する予定)

TQuaternion.h の 116 行で定義されています。

template<class ET>
void Spr::TQuaternion< ET >::set_default (   )  [inline]
 

コンストラクタ

PTM::VectorImp< TVecDesc< TQuaternion< ET >, ET > >を再定義しています。

TQuaternion.h の 124 行で定義されています。

template<class ET>
void Spr::TQuaternion< ET >::conjugate (   )  [inline]
 

共役

TQuaternion.h の 154 行で定義されています。

template<class ET>
TQuaternion Spr::TQuaternion< ET >::inv (   )  const [inline]
 

逆

TQuaternion.h の 158 行で定義されています。

template<class ET>
template<class AM>
void Spr::TQuaternion< ET >::from_matrix (  const AM &  m  )  [inline]
 

回転行列変換

TQuaternion.h の 161 行で定義されています。

参照元 Spr::PHSolid::SetRotation().

template<class ET>
template<class ET>
void Spr::TQuaternion< ET >::to_eular (  TVec3< ET > &  v  )  [inline]
 

オイラー角へ変換

TQuaternion.h の 205 行で定義されています。

template<class ET>
void Spr::TQuaternion< ET >::rotation_arc (  const TVec3< ET > &  lhs,
const TVec3< ET > &  rhs
)  [inline]
 

lhsを回転してrhsに一致させるクウォータニオン

TQuaternion.h の 241 行で定義されています。

template<class ET>
void Spr::TQuaternion< ET >::euler (  ET  yaw,
ET  pitch,
ET  roll
)  [inline]
 

オイラー角で指定

TQuaternion.h の 255 行で定義されています。


このクラスの説明は次のファイルから生成されました:
Springheadに対してSun Apr 16 01:58:54 2006に生成されました。  doxygen 1.4.1