前へ 第06章 ポリゴンの移動(行列の使用) 次へ

ソース 実行ファイル
dx8_06.cpp dx8_06.exe

今回は具体的に行列で何ができるか・使用法を説明します。
前回の説明を見ていただいて座標の変換等に使われているのは気づかれたでしょうか?

行列の計算式を詳しく載せてもわかりにくいので概要を覚えてください。
行列は移動・回転に使われます。
D3DXMatrixRotationXはX軸を中心としての回転行列が生成されます。
D3DXMatrixTranslationは移動行列が生成されます。
これらを掛け合わせる事により最終的な行列を生成できるのです。

十字キーでワールドの回転
数字キーで視点の移動です
2,4,6,8で前進・後退・平行移動
7,9で視点を回転します(Y軸回転)

移動範囲に制限を設けてないので
あまり遠くに行くと迷子になりますよ(笑)
行列の計算で注意していただきたいのは 画面を見てる自分から見た回転角度を与えるのじゃなく 各オブジェクトからみた回転角度を与える事です。 今回の場合はワールド座標の回転と 視点の回転をしていますね。 これはワールド座標から見た角度の回転視点からみた角度の回転を与えています。 このそれぞれについての「このくらい」の回転や移動を与えるのに 行列は非常に便利なのです。 だいたいの概要はおわかりいただけたでしょうか? 行列の説明はなかなかスマートには難しいです(^^; またわかりやすい説明が見つかり次第更新しますm(__)m