Итак, я покопался в матрицах вращения и обнаружил, что вам не обязательно знать угол поворота для этой новой позиции.
На самом деле все, что вам нужно сделать, это умножить матрицу вращения с координатами относительно предыдущей матрицы вращения. После этого вы добавляете координаты точки, вокруг которой вы вращались, и вот она у вас.
Мне нужно было сделать это в python и использовать для этого метод matmul numpy. Матрица вращения была сделана с использованием векторов, которые у меня уже были доступны:
[[right.x up.x, forward.x],
[right.y, up.y, forward.y],
[right.z, up.z, forward.z]]
вправо, вверх и вперед - 3 вектора размера 1, перпендикулярных друг другу.