2012-04-16 14 views
3

Iは、2つの4x4のOpenGLの行列を有する -2つの4x4行列を減算することは可能ですか?

  • 第1行列は

  • フレームで物体の回転位置を保持する第2行列は、フレームXにおけるオブジェクトの回転および位置を保持。

私はちょうど両方を引く場合 は(可能)この十分です?、フレーム0とXの間でオブジェクトのオフセットの動きを取得したいですか

私は何をやっていることは、この行列は、アニメーションのフレーム0とフレームX.との間の変換

  • のオフセットされたフレームボーン変換マトリクスごとにエクスポートしている

    CMatrix4x4 offsetMatrix = matrixAtFrameX - matrixAtFrame0; 
    

    私は両方の行列を引くことはできますか?

  • 結果は何ですか?

+0

でも、それは意味がありません。関連情報を取得する正しい方法については、@AndreasBrinckによる回答を参照してください。 – ja72

答えて

8

あなたはこれがあなたにフレーム間の相対的な変換と回転を与える0

matrixOffset = inverse(matrixAtFrame0) * matrixAtFrameX 

フレームで行列の逆でフレームxで行列を乗算する必要があります。

+0

申し訳ありませんが、私は順序がここに 'もの' であると信じて - 私は一緒に行く必要があります。 INVERSE(MatrixAtFrame0)* MatrixAtFrameX または MatrixAtFrameX * INVERSE(MatrixAtFrame0) ? ありがとう! – PeeS

+0

標準的なOpenGL行列を仮定し、0からXまでの行列を必要としている場合は、提示されているとおりに答えに行かなければなりません。 –

+0

パーフェクト、 ありがとう! – PeeS

関連する問題