Platform SDK: DirectX |
次のトランスフォームは、点 (x, y, z) を新しい点 (x', y', z') に平行移動する。
C++ では、独自の平行移動行列を作成できる。次の例は、頂点を平行移動するための行列を作成する関数のソース コードを示す。
D3DMATRIX Translate(const float dx, const float dy, const float dz) { D3DMATRIX ret = D3DUtil_SetIdentityMatrix(); // d3dutil.h に宣言される。 ret(3, 0) = dx; ret(3, 1) = dy; ret(3, 2) = dz; return ret; } // 移動終了
Visual Basic では、独自の平行移動行列を作成できる。また、この SDK 付属の Math.bas ファイルにある TranslateMatrix ヘルパー サブルーチンを使用することもできる。次の例は、TranslateMatrix サブルーチンのソース コードを示す。
Sub TranslateMatrix(m As D3DMATRIX, v As D3DVECTOR) Call dx.IdentityMatrix(m) ' DirectX7 オブジェクトのメソッド。 m.rc41 = v.x m.rc42 = v.y m.rc43 = v.z End Sub