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"
構成 | |
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 > | |
T | abs (T t) |
template<class T > | |
T | sign (T t) |
符号(正なら1, 負なら -1 を返す) | |
template<class T > | |
T | min (T a, T b) |
小さい方を返す | |
template<class T > | |
T | max (T a, T b) |
大きい方を返す | |
template<class T > | |
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 |
円周率π | |