0

3D マトリックス変換を使用する場合、各オブジェクトにマトリックスのみを使用して、オブジェクトの配置、回転、スケーリングの両方を行うことはできますか? たとえば、「任意のポイントを中心に回転」などの操作を実行するために、別の位置情報のセットを維持する必要がありますか?

これは、オブジェクトの空間情報の一般的な管理に関連していますが、(具体的には...)任意の点を中心に回転する方法がよくわからないためです。

4

1 に答える 1

1

4x4 マトリックスが必要です。3D 空間の 3x3 行列は線形変換のみを記述し、配置 (移動) は含まれません。

実装の詳細については、 http ://www.euclideanspace.com/maths/geometry/affine/matrix4x4/ を参照してください。Googleでもっとたくさん。

たとえば、任意の点Pを中心とした回転の場合、次の行列を作成します。

  • A :マイナス Pによる翻訳
  • B : 回転 (オイラー角など)
  • C :プラス Pによる翻訳

必要な最終的な行列はCBAです(この順序で、ベクトルによる右乗算を想定)

于 2016-08-05T09:04:47.687 に答える