Мне нужен подписанный угол поворота между двумя векторами Va и Vb, лежащими в одной и той же трехмерной плоскости и имеющими одно и то же происхождение, зная, что:
- Плоскость, контактирующая с обоими векторами, является произвольной и не параллельна XY или любой другой из кардинальных плоскостей
- Vn - плоская нормаль
- Оба вектора вместе с нормалью имеют одинаковое происхождение O = {0, 0, 0}
- Va - эталон для измерения левого вращения при Vn
Угол должен быть измерен таким образом, чтобы, если плоскость была бы плоскостью XY, Va стояла бы за единичный вектор оси X.
Я предполагаю, что я должен выполнить какое-то преобразование координатного пространства, используя Va как ось X и поперечное произведение Vb и Vn как ось Y, а затем просто используя некоторый 2d-метод, подобный с atan2() или чем-то, Есть идеи? Формулы?