メインページ | ネームスペース一覧 | クラス階層 | 構成 | 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.h28 行で定義されています。


型定義

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

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

TQuaternion.h33 行で定義されています。

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

3次元の部分ベクトル

TQuaternion.h48 行で定義されています。


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

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

コンストラクタ

TQuaternion.h127 行で定義されています。


関数

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

要素のアクセス

TQuaternion.h41 行で定義されています。

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

要素のアクセス

TQuaternion.h43 行で定義されています。

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

ストライド

TQuaternion.h45 行で定義されています。

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

w成分

TQuaternion.h52 行で定義されています。

参照元 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.h54 行で定義されています。

参照元 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.h56 行で定義されています。

参照元 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.h58 行で定義されています。

参照元 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.h63 行で定義されています。

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

x成分

TQuaternion.h65 行で定義されています。

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

y成分

TQuaternion.h67 行で定義されています。

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

z成分

TQuaternion.h69 行で定義されています。

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

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

TQuaternion.h73 行で定義されています。

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

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

TQuaternion.h89 行で定義されています。

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

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

回転軸

TQuaternion.h105 行で定義されています。

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

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

TQuaternion.h116 行で定義されています。

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

コンストラクタ

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

TQuaternion.h124 行で定義されています。

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

共役

TQuaternion.h154 行で定義されています。

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

TQuaternion.h158 行で定義されています。

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

回転行列変換

TQuaternion.h161 行で定義されています。

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

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

オイラー角へ変換

TQuaternion.h205 行で定義されています。

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

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

TQuaternion.h241 行で定義されています。

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

オイラー角で指定

TQuaternion.h255 行で定義されています。


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