Eu tenho trabalhado recentemente em um jogo usando OpenGL e C ++ através do GLFW.
No jogo, tenho uma aeronave com uma torre montada nela. A aeronave se move em coordenadas espaciais mundiais e a torre a segue.
A torre possui seu próprio espaço de coordenadas para a direção da aparência / objetivo. Basicamente, quando a torre aponta na direção (0,0,1)
, ela é paralela à direção do movimento das aeronaves.
Para dar à torre um alvo espacial mundial, eu tenho uma matriz que pega as coordenadas espaciais mundiais e as transforma em coordenadas espaciais da torre.
À medida que a torre dispara, quero que ela projete projéteis no espaço mundial, existe uma maneira elegante de usar minha matriz de transformação para converter as coordenadas do espaço da torre de volta ao espaço mundial?
Uma maneira mais geral de fazer a pergunta pode ser: se eu tiver uma matriz M
que leve coordenadas de um espaço A
para o outro B
. Existe uma maneira fácil de usar M
para obter as coordenadas de B
para A
?