3D マトリックス変換を使用する場合、各オブジェクトにマトリックスのみを使用して、オブジェクトの配置、回転、スケーリングの両方を行うことはできますか? たとえば、「任意のポイントを中心に回転」などの操作を実行するために、別の位置情報のセットを維持する必要がありますか?
これは、オブジェクトの空間情報の一般的な管理に関連していますが、(具体的には...)任意の点を中心に回転する方法がよくわからないためです。
3D マトリックス変換を使用する場合、各オブジェクトにマトリックスのみを使用して、オブジェクトの配置、回転、スケーリングの両方を行うことはできますか? たとえば、「任意のポイントを中心に回転」などの操作を実行するために、別の位置情報のセットを維持する必要がありますか?
これは、オブジェクトの空間情報の一般的な管理に関連していますが、(具体的には...)任意の点を中心に回転する方法がよくわからないためです。
4x4 マトリックスが必要です。3D 空間の 3x3 行列は線形変換のみを記述し、配置 (移動) は含まれません。
実装の詳細については、 http ://www.euclideanspace.com/maths/geometry/affine/matrix4x4/ を参照してください。Googleでもっとたくさん。
たとえば、任意の点Pを中心とした回転の場合、次の行列を作成します。
必要な最終的な行列はCBAです(この順序で、ベクトルによる右乗算を想定)