AxisAngleRotation3D.Axis属性究竟意味着什么?

时间:2014-01-15 09:05:58

标签: c# wpf 3d

这可能是一个愚蠢的问题,但我是WPF 3D技术的新手。

目前我正在使用SharpDX(一个用于C#的DirectX包装器)处理我的项目。我正在实现3D渲染引擎并试图像在WPF中那样实现相同的界面。所以我从XAML文件中获取所有网格,相机位置等。现在我试图设置模型旋转的中心点。在SharpDX中,使用Vector3对象(x,y,z)设置此属性。在WPF中没有这样的属性,但我找到了Axis属性。我可以将此属性解释为旋转中心吗?

1 个答案:

答案 0 :(得分:1)

请参阅RotateTransform3D课程上的MSDN文档。您可以指定旋转中心和旋转。对于旋转本身,可以使用AxisAngleRotation3D,其中轴只是旋转轴(它不是整个旋转变换的中心)。

如果您需要仅使用SharpDX的轴旋转模拟指定中心的完整旋转变换,则需要进行多次变换:

  1. 将模型翻译到指定的中心(中心成为新的原点),
  2. 围绕指定轴旋转指定角度
  3. 将模型翻译回来(与1相反)。