Platform SDK: DirectX |
一般に、3D グラフィックス アプリケーションではデカルト座標系の左手座標系と右手座標系のどちらかを使用する。どちらの座標系でも、x 軸の正方向は右側であり、y 軸の正方向は上方である。z 軸の正方向は、x 軸 の正方向に左手または右手の指を向け、それを y 軸の正の方向に回転した方向になる。親指の方向、手前または奥が、この座標系での z 軸の正方向である。
Direct3D では左手座標系を使用する。右手座標系に基づくアプリケーションを移植する場合は、Direct3D に渡すデータに 2 つの変更を加える必要がある。
3D ソフトウェアでは、これらの座標系以外にもさまざまな座標系が使用されることもある。左手座標系と右手座標系は最もよく使用される座標系である。しかし、3D モデリング プログラムでは、y 軸がビューアの手前または奥を指し、z 軸が上方を指している座標系が使用されることも珍しくない。この場合、右手座標系は、どの軸 (x、y、または z) の正方向もビューアに近づく方向として定義される。左手座標系は、どの軸 (x、y、または z) の正方向もビューアから離れる方向として定義される。z 軸が上方を指している左手座標系を使用したモデリング プログラムを移植する場合は、既に説明した手順に加え、頂点データをすべて回転する必要がある。
3D 座標系で定義されたオブジェクトにおいて重要な操作は、平行移動、回転、およびスケーリングである。これらの基本的なトランスフォームを組み合わせてトランスフォーム行列を作成できる。詳細については、「3D トランスフォーム」を参照すること。
これらの操作を組み合わせるとき、その結果はその操作の順序に依存すること、つまり行列を乗算する順序が重要であることに注意する。