Во-первых, я много гуглил и проверял другие посты stackoverflow по этому поводу, но не могу получить рабочий ответ или фрагмент рабочего кода.Математика - не моя сила.
Мне нужна процедура, которая берет точку камеры (CX, CY, CZ) и поворачивает ее вокруг точки обзора (LX, LY, LZ) на три угла поворота (RX), RY RZ).Использование вращений Эйлера в некоторых случаях приводит к блокировке карданного подвеса, чего мне следует избегать.Итак, я слышал об использовании кватернионов.
Я нашел это для преобразования вращений в кватернион http://www.euclideanspace.com/maths/geometry/rotations/conversions/eulerToQuaternion/index.htm
и для преобразования из кватернионов обратно в вращения Эйлера XYZ http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToEuler/index.htm
Кажется, они работают нормально, но мне нужно знать, как использовать кватернион для вращения CX, CY, CZ вокруг LX, LY, LZ, а затем вернуть новый CX, CY, CZ без проблем с блокировкой карданного подвеса.
В этом так много всего, что я уверен, что хорошее объяснение и фрагмент кода помогут не только мне, но и многим другим в будущем.
Поэтому, пожалуйста, помогите, если сможете.Большое спасибо.