Platform SDK: DirectX

平行移動

次のトランスフォームは、点 (x, y, z) を新しい点 (x', y', z') に平行移動する。

[C++]

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]

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