Saya baru-baru ini mengerjakan game dengan menggunakan OpenGL dan C ++ melalui GLFW.
Dalam permainan, saya memiliki pesawat dengan menara yang terpasang di sana. Airship bergerak dalam koordinat ruang dunia dan turret 'mengikutinya'.
Menara ini memiliki ruang koordinat sendiri untuk arah tampilan / arahnya. Pada dasarnya, ketika turret mengarah ke arah (0,0,1)
, itu bertujuan sejajar dengan arah pergerakan airships.
Untuk memberi menara target ruang dunia, saya memiliki matriks yang mengambil koordinat ruang dunia dan mengubahnya menjadi koordinat ruang menara.
Saat turret menyala, saya ingin memunculkan proyektil di ruang dunia, jadi adakah cara elegan menggunakan matriks transformasi saya untuk mengubah koordinat ruang menara kembali ke ruang dunia?
Cara yang lebih umum untuk mengajukan pertanyaan mungkin: jika saya memiliki matriks M
yang mengambil koordinat dari ruang A
ke ruang B
. Apakah ada cara mudah untuk menggunakan M
untuk mendapatkan koordinat dari B
ke A
?