Springhead
An open source physics engine for virtual reality, haptics and motion generation.
|
3x3行列クラス.
#include <TinyMat.h>
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 () |
初期化と構築 | |
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 > | ) |
|
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) |