Springhead
An open source physics engine for virtual reality, haptics and motion generation.
クラス テンプレート TMatrix3< T >

3x3行列クラス.

#include <TinyMat.h>

TMatrix3< T >に対する継承グラフ

Public 型

typedef PTM::TMatrixDescCol
< TMatrix3< T >
, PTM::TMatrixRow< 3, 3, T >
, 3, 3, 3, T > 
desc
 
typedef PTM::TMatrixBase
< 3, 3, desc > 
base_type
 

Public メソッド

 DEF_MATRIX_BASIC_MEMBER (TMatrix3)
 基本的なメンバの定義 [詳細]
 
element_type & item_impl (size_t i, size_t j)
 要素のアクセス
 
const element_type & item_impl (size_t i, size_t j) const
 
基底ベクトルへのアクセス
TVec3< element_type > & Ex ()
 
const TVec3< element_type > & Ex () const
 
TVec3< element_type > & Ey ()
 
const TVec3< element_type > & Ey () const
 
TVec3< element_type > & Ez ()
 
const TVec3< element_type > & Ez () const
 
要素へのアクセス
const element_type & ExX () const
 
element_type & ExX ()
 
const element_type & ExY () const
 
element_type & ExY ()
 
const element_type & ExZ () const
 
element_type & ExZ ()
 
const element_type & EyX () const
 
element_type & EyX ()
 
const element_type & EyY () const
 
element_type & EyY ()
 
const element_type & EyZ () const
 
element_type & EyZ ()
 
const element_type & EzX () const
 
element_type & EzX ()
 
const element_type & EzY () const
 
element_type & EzY ()
 
const element_type & EzZ () const
 
element_type & EzZ ()
 

Public 変数

union {
   element_type   data [3][3]
 
   struct {
      element_type   xx
 
      element_type   xy
 
      element_type   xz
 
      element_type   yx
 
      element_type   yy
 
      element_type   yz
 
      element_type   zx
 
      element_type   zy
 
      element_type   zz
 
   } 
 
}; 
 

初期化と構築

void set_default ()
 デフォルトコンストラクタ
 
template<class BX , class BY , class BZ >
 TMatrix3 (const PTM::TVectorBase< 3, BX > &exi, const PTM::TVectorBase< 3, BY > &eyi, const PTM::TVectorBase< 3, BZ > &ezi)
 コンストラクタ(基底ベクトルを指定)
 
 TMatrix3 (T m11, T m12, T m13, T m21, T m22, T m23, T m31, T m32, T m33)
 コンストラクタ(成分を指定)
 
static TMatrix3< T > Zero ()
 零行列
 
static TMatrix3< T > Unit ()
 単位行列
 
static TMatrix3< T > Diag (element_type x, element_type y, element_type z)
 対角行列
 
template<class BA , class BB >
static TMatrix3< T > Rot (const PTM::TVectorBase< 3, BA > &a, const PTM::TVectorBase< 3, BB > &b, char axis= 'x')
 回転行列 方向ベクトルで指定
 
static TMatrix3< T > Rot (element_type th, char axis)
 回転軸で指定
 
template<class B >
static TMatrix3< T > Rot (element_type th, const PTM::TVectorBase< 3, B > &axis)
 任意軸まわり回転 [詳細]
 
template<class B >
static TMatrix3< T > Rot (const PTM::TVectorBase< 4, B > &q)
 Qutaternionで指定
 
template<class B >
static TMatrix3< T > Cross (const PTM::TVectorBase< 3, B > &v)
 外積と等価な行列
 

関数

DEF_MATRIX_BASIC_MEMBER ( TMatrix3< T >  )
参照
::DEF_MATRIX_BASIC_MEMBER
static TMatrix3<T> Rot ( element_type  th,
const PTM::TVectorBase< 3, B > &  axis 
)
inlinestatic
+                                                                      +
|u^2+(1-u^2)cos(th)      uv(1-cos(th))-wsin(th)  wu(1-cos(th))+vsin(th)|

R = |uv(1-cos(th))+wsin(th) v^2+(1-v^2)cos(th) vw(1-cos(th))-usin(th)| |wu(1-cos(th))-vsin(th) vw(1-cos(th))+usin(th) w^2+(1-w^2)cos(th) |

  • +

このクラスの説明は次のファイルから生成されました: