メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

intro

affine_usage

サンプル Affine行列クラスはSpr名前空間の中で宣言されている.

void main(){ Affinef af=Affinef::Rad(Rad(30), 'z'); // 要素がfloatなTAffine行列を宣言.

Vec3f vec(1,0,0); // 要素がfloatな3次元のベクトルを宣言

std::cout << af; std::cout << vec << std::endl; std::cout << af * vec << std::endl; }

Affine行列・ベクトルの機能

普通に演算ができます.

Affine変換は,

	TAffine<float> af; TVec3<float> v, af_v;
	af_v = af * v;
とすればできます.

また,次のようにTAffine行列の部分を取り出すことができます.

部分への代入などもできます.

	TAffine<float> af;
	af.Pos() = Vec3f(10,0,0);
	af.Rot() = TAffine<float>::Rot(Rad(30), 'x').Rot() * af.Rot();
ベクトルは次のようなメンバ関数を持ちます.

Affine行列の初期化機能

TAffine行列(Spr::TAffine)には便利なコンストラクタや初期化関数を用意しました. いくつかをここで紹介します.

謝辞

LU分解,逆行列,ガウス消去法などの行列計算アルゴリズムは,
「『C言語による最新アルゴリズム事典』全ソースコード」
ftp://ftp.matsusaka-u.ac.jp/pub/algorithms
奥村 晴彦 Haruhiko Okumura
を改変して流用させていただきました. 自由にコードを使わせてくださって,ありがとうございます.
Springheadに対してSun Apr 16 01:58:44 2006に生成されました。  doxygen 1.4.1