クォータニオンの軸方向ベクトルの計算
project018でミスが発覚しましたので、それ以前のコードでは注意してください
クォータニオンの軸方向ベクトルの計算では、クォータニオンの回転が使われます
変換前のベクトルを

,変換後のベクトルを

,回転を表すクォータニオンを

とすると
だと思っていたのですが違うようで、
で計算するとうまい事いきました
ググると前のほうが正しいはずなんだけどなぁ…
オブジェクト座標のZ軸方向のベクトルを計算するコード
間違い
Math::Quaternion QtTmp;
Math::Vector3D VecZ;
Math::Quaternion QtZ;
QtZ.Mul(m_Direction,Math::Quaternion(0.0f,0.0f,1.0f,0.0f));
QtTmp.Conjugate(m_Direction);
QtZ.Mul(QtZ,QtTmp);
VecZ=Math::Vector3D(QtZ.x,QtZ.y,QtZ.z);
訂正
Math::Vector3D VecZ;
Math::Quaternion QtZ;
QtZ.Conjugate(m_Direction);
QtZ.Mul(Math::Quaternion(0.0f,0.0f,1.0f,0.0f));
QtZ.Mul(m_Direction);
VecZ=Math::Vector3D(QtZ.x,QtZ.y,QtZ.z);
最終更新:2009年06月19日 07:34