2016-08-05 4 views
0

3D行列変換を使用する場合、オブジェクトごとに行列を使用して、オブジェクトを配置、回転、スケールすることはできますか?たとえば、「任意の点を中心に回転する」などの操作を実行するために、個別の位置情報を維持する必要がありますか?行列を使用して3D空間にオブジェクトを配置する

これは、オブジェクトの空間情報の一般的な管理に関係していますが、任意の点をどのように(具体的には...)回転させることができないので、私は尋ねます。

答えて

1

4x4マトリックスが必要です。 3D空間内の3x3マトリックスは、直線変換のみを記述します。変換には、位置指定(翻訳)は含まれません。

実装に関する詳細は、 http://www.euclideanspace.com/maths/geometry/affine/matrix4x4/を参照してください。 Googleにもっとたくさんの情報があります。

など。

  • マイナスP
  • Bによる翻訳:あなたの回転(オイラー角または何でも)
  • 任意の点を中心とした回転 P、構築、次の行列の
  • C:翻訳by plus

あなたが望む最後の行列は

(ベクトルと右の乗算を想定し、その順序で) CBAです
関連する問題