Ostatnio pracuję nad grą z wykorzystaniem OpenGL i C ++ za pośrednictwem GLFW.
W grze mam sterowiec z zamontowaną wieżą. Sterowiec porusza się po światowych współrzędnych kosmicznych, a wieża „podąża” za nim.
Wieża ma własną przestrzeń współrzędnych dla swojego wyglądu / kierunku celowania. Zasadniczo, gdy wieża celuje w kierunku (0,0,1)
, jest skierowana równolegle do kierunku ruchu sterowców.
Aby nadać wieżyczce cel przestrzeni kosmicznej, mam macierz, która przyjmuje współrzędne przestrzeni świata i przekształca je we współrzędne przestrzeni kosmicznej.
Gdy strzelasz z wieży, chcę, aby odradzała pociski w przestrzeni świata, więc czy istnieje elegancki sposób wykorzystania mojej macierzy transformacji do konwersji współrzędnych przestrzeni wieży z powrotem na przestrzeń świata?
Ogólniejszym sposobem zadawania pytań może być: jeśli mam macierz, M
która przenosi współrzędne z przestrzeni A
do przestrzeni B
. Czy istnieje prosty sposób M
na uzyskanie współrzędnych od B
do A
?