我正在WPF中使用3D模型。它使用偏航,俯仰和滚动进行旋转,所有操作均正常进行,但是在此变换之后,我想围绕主垂直轴(尚未旋转,但处于主状态)旋转整个对象。例如:
这是我的主要对象:
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;