J'ai récemment travaillé sur un jeu utilisant OpenGL et C ++ via GLFW.
Dans le jeu, j'ai un dirigeable avec une tourelle montée dessus. Le dirigeable se déplace en coordonnées spatiales mondiales et la tourelle le «suit».
La tourelle possède son propre espace de coordonnées pour sa direction de visée / visée. Fondamentalement, lorsque la tourelle vise en direction (0,0,1)
, elle vise parallèlement à la direction de mouvement des dirigeables.
Pour donner à la tourelle une cible spatiale mondiale, j'ai une matrice qui prend les coordonnées spatiales mondiales et les transforme en coordonnées spatiales de la tourelle.
Alors que la tourelle tire, je veux qu'elle fasse apparaître des projectiles dans l'espace mondial, alors existe-t-il une façon élégante d'utiliser ma matrice de transformation pour convertir les coordonnées de l'espace de la tourelle en espace mondial?
Une façon plus générale de poser la question pourrait être: si j'ai une matrice M
qui prend les coordonnées d'un espace A
à l'autre B
. Existe-t-il un moyen simple d’utiliser M
pour obtenir les coordonnées de B
à A
?