Недавно я работал над игрой с использованием OpenGL и C ++ через GLFW.
В игре у меня есть дирижабль с установленной на нем башней. Дирижабль движется в мировых космических координатах, и турель «следует» за ним.
Башня имеет свое собственное координатное пространство для направления взгляда / цели. В основном, когда турель направлена в направлении (0,0,1)
, она направлена параллельно направлению движения дирижабля.
Чтобы дать башне мировую космическую цель, у меня есть матрица, которая берет мировые космические координаты и преобразует их в космические координаты башни.
Поскольку турель стреляет, я хочу, чтобы она порождала снаряды в мировом пространстве, так есть ли элегантный способ использования моей матрицы преобразования для преобразования координат башни в мировое пространство?
Более общий способ задать вопрос может быть: если у меня есть матрица, M
которая принимает координаты из космоса A
в космос B
. Есть ли простой способ M
получить координаты от B
до A
?