Я работаю с 3D-моделью в WPF. Он вращается с использованием рыскания, тангажа и крена, все работает правильно, но после этого преобразования я хочу повернуть весь объект вокруг первичной вертикальной оси (еще не повернут, но в начальном состоянии). Например:
Это мой основной объект:
После 3D вращения это выглядит так:
Итак, теперь я хочу повернуть весь объект вокруг розовой оси (например, синий кружок на первом изображении):
Я знаю, что есть решение, но я делаюне очень понимаю матрицы. Я также пытался визуализировать объект в 3D-точке и вычислять углы, но это не удалось.
Так что, если вы знаете решение, пожалуйста, поделитесь. Благодарю вас.
РЕДАКТИРОВАТЬ 1:
Это мой код для преобразования объекта (простое преобразование WPF):
Transform3DGroup transforms = new Transform3DGroup();
transforms.Children.Add(new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(1, 0, 0), Yaw)));
transforms.Children.Add(new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(0, 1, 0), Pitch)));
transforms.Children.Add(new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(0, 0, 1), Roll)));
Model.Transform = transforms;