- 37 名前:28 [2008/07/24(木) 20:10:17 ]
- レスありがとうございます。
皆さんのおかげで、オイラーは難易度が高いので使わない方が良いということが分かりました。 オイラーを止めてクォータニオンを使うことにしたのですが、今度は回転の補間の説明ばかりで平行移動が分かりません。 hikari-hinomoto.hp.infoseek.co.jp/PDF/DX305.pdfにほとんど書いてあるのですが、肝心の部分が書かれていなくて困っています。 void CCamera::Move(const float inFront, const float inUp, const float inRight) { // カメラの方向ベクトルを取り出す D3DXVECTOR3 right(m_View._11, m_View._12, m_View._13); D3DXVECTOR3 up (※ここは各自考えましょう); D3DXVECTOR3 front(※ここは各自考えましょう); // 移動 right *= inRight; up *= inUp; front *= inFront; m_Position += front + up + right; } の、ここは各自考えましょうの部分が分かりません。 予想では m_View._21, m_View._22, m_View._23 m_View._31, m_View._32, m_View._33 ですが、本当に合っているのか分かりません。 これはどこを調べたら分かるのですか? クォータニオン周りを調べましたが、本のリンクが出てきただけでさっぱり分かりませんでした。 その本も買いましたが、glTranslateを使えばおkとしか書かれていないので、肝心の中身が分かりません。 DirectX版のglTranslateを探せば通るとは思うのですが、理解しないまま進むのも嫌なので。 これはどこをどう調べたら分かるのですか?
|

|