Asumsikan DirectX sebagai platform, jika itu penting. (Cukup yakin bukan)
Dengan asumsi saya memiliki skala yang tepat, rotasi dan matriks terjemahan, dalam urutan apa saya mengalikan mereka untuk menghasilkan matriks dunia yang tepat dan mengapa?
Maksudnya "benar", maksud saya, "Saya bisa melemparnya langsung ke DirectX dan mendapatkan bingkai 3D yang paling umum digunakan."
Jawaban:
Biasanya itu skala, lalu rotasi dan terjemahan terakhir. Dengan denotasi matriks (yaitu T untuk matriks terjemahan, R untuk matriks rotasi dan S untuk matriks penskalaan) yang akan menjadi:
T * R * S
Namun, jika Anda ingin memutar objek di sekitar titik tertentu, maka itu adalah skala, terjemahan titik, rotasi dan terjemahan objek terakhir.
Mengapa: Pertama, Anda ingin skala objek agar terjemahan berfungsi dengan baik. Kemudian Anda memutar sumbu sehingga terjemahan terjadi pada sumbu yang disesuaikan. Akhirnya Anda menerjemahkan objek ke posisi itu.
Di OpenGL Anda dapat menggunakan gluLookAt untuk mendapatkan transformasi kamera penuh dalam satu panggilan. Kemungkinan ada panggilan serupa untuk DirectX.
sumber
rotasi dan penskalaan terjemahan adalah urutan untuk melakukan operasi
sumber
Saya percaya itu adalah Rotasi Terjemahan dan Dialasi
sumber