アフィン変換

アフィン変換は主にグラフィクスにおける変換を指定するために使用します. アフィン変換型Affine[f\d]は4x4行列としての機能を備えています. 加えて以下のメンバ関数が使えます.

Affinef A;
Matrix3f R;
Vec3f p;

R = A.Rot();           // rotation part
p = A.Trn();           // translation part

また,よく使用するアフィン変換を生成する静的メンバが用意されています.

A = Affinef::Unit();            // identity transformation
A = Affinef::Trn(x, y, z);      // translation
A = Affinef::Rot(theta, 'x');   // rotation w.r.t. x-axis
                                // one can specify 'y' and 'z' too
A = Affinef::Rot(theta, axis);  // rotation w.r.t. arbitrary axis
A = Affinef::Scale(x, y, z);    // scaling