Я пишу программу, которая имитирует вектор, движущийся в трех измерениях. Я пытаюсь использовать локальную ось относительно вектора, чтобы избежать блокировки кардана. Я могу повернуть вектор на 90 градусов вверх, вниз, влево и вправо относительно вектора. Поскольку локальная ось вектора отделена от глобальных координат, я не уверен, как выровнять вектор, когда поворот «вверх» может означать выравнивание по трем разным осям.
Как мне сделать представляют отношения между локальной осью и ориентацией в глобальной среде?