Springhead
An open source physics engine for virtual reality, haptics and motion generation.

2/3次元アフィン行列 [詳細]

#include "TMatrix.h"
#include "TMatrixUtility.h"
#include "TinyVec.h"
#include "TinyMat.h"
#include "VectorDebug.h"
Affine.hのインクルード依存関係図
このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

構成

class  TAffine2< T >
 TAffine2行列(回転,拡大,平行移動を表す)行列. [詳細]
 
class  TAffine< T >
 TAffine行列(回転,拡大,平行移動を表す)行列. [詳細]
 

ネームスペース

 Spr
 SpatialVector V(v, w) = [v; w]; SpatialTransform X(R, r) = [R^T, -R^T * r%; O, R^T]; ^Tは転置, は外積行列,Oは零行列. X(R, r) * V(v, w) = [R^T * (v + w % r); R^T * w];.
 

マクロ定義

#define DEF_TAFFINE_CONSTRUCTORS(TAffine)
 TAffineのコンストラクタ定義のマクロ.コンストラクタは継承されないが, これをDefineすることで,コンストラクタを引き継ぐことができる.
 
#define DEF_TAFFINE_CONSTRUCTORS2(TAffine)
 TAffine2のコンストラクタ定義のマクロ.コンストラクタは継承されないが, これをDefineすることで,コンストラクタを引き継ぐことができる. [詳細]
 

型定義

typedef TAffine2< float > Affine2f
 float版2次元アフィン行列.
 
typedef TAffine2< double > Affine2d
 double版2次元アフィン行列.
 
typedef TAffine< float > Affinef
 float版3次元アフィン行列.
 
typedef TAffine< double > Affined
 double版3次元アフィン行列.
 

関数

template<class T >
abs (T t)
 
template<class T >
sign (T t)
 符号(正なら1, 負なら -1 を返す)
 
template<class T >
min (T a, T b)
 小さい方を返す
 
template<class T >
max (T a, T b)
 大きい方を返す
 
template<class T >
ave (T a, T b)
 平均をとる
 
double Rad (double deg)
 度をラジアンに変換
 
float Radf (double deg)
 
double Deg (double rad)
 ラジアンを度に変換
 
float Degf (double rad)
 
template<class SC >
SC Square (SC x)
 2乗
 
template<class SC >
SC Det2 (SC a, SC b, SC c, SC d)
 2x2行列の行列式
 
template<class TD , class TV >
TVec2< TV > operator* (const PTM::TMatrixBase< 3, 3, TD > &a, const TVec2< TV > &b)
 TAffine2とベクトルの掛け算
 
template<class TD , class TV >
TVec3< TV > operator* (const PTM::TMatrixBase< 4, 4, TD > &a, const TVec3< TV > &b)
 TAffineとベクトルの掛け算
 

変数

const double M_PI = 3.14159265358979323846
 円周率π