Recientemente he estado trabajando en un juego con OpenGL y C ++ a través de GLFW.
En el juego tengo una aeronave con una torreta montada. La aeronave se mueve en coordenadas espaciales mundiales y la torreta 'la sigue'.
La torreta tiene su propio espacio de coordenadas para su dirección de mira / objetivo. Básicamente, cuando la torreta apunta en dirección (0,0,1)
, apunta paralela a la dirección de movimiento de las aeronaves.
Para darle a la torreta un objetivo espacial mundial, tengo una matriz que toma coordenadas espaciales mundiales y las transforma en coordenadas espaciales de torreta.
A medida que se dispara la torreta, quiero que genere proyectiles en el espacio mundial, entonces, ¿hay una manera elegante de usar mi matriz de transformación para convertir las coordenadas del espacio de la torreta en espacio mundial?
Una forma más general de hacer la pregunta podría ser: si tengo una matriz M
que toma coordenadas de espacio A
en espacio B
. ¿Hay una manera fácil de usar M
para obtener las coordenadas de B
a A
?