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