2014-01-15 47 views
0

這可能是一個愚蠢的問題,但我是WPF 3D技術的新手。AxisAngleRotation3D.Axis屬性的真正含義是什麼?

目前我正在使用SharpDX(一個C#的DirectX包裝器)來處理我的項目。我正在實現3D渲染引擎並試圖像在WPF中一樣實現相同的接口。所以所有的網格,相機位置等我從XAML文件中獲得。現在我正在嘗試設置模型旋轉的中心點。在SharpDX中,通過使用Vector3對象(x,y,z)來設置此屬性。在WPF中沒有這樣的屬性,但我發現了Axis屬性。我可以將此屬性解釋爲旋轉中心嗎?

回答

1

請參閱RotateTransform3D類的MSDN文檔。您可以指定一個旋轉中心和一個旋轉。對於旋轉本身,可以使用AxisAngleRotation3D,其中軸僅僅是旋轉軸(它不是整個旋轉變換的中心)。

如果需要模擬與僅使用SharpDX的軸旋轉指定的中心全旋轉變換,那麼你就需要編寫一些轉變:

  1. 翻譯模型到指定的中心(中心成爲新的原點),
  2. 圍繞指定軸旋轉指定角度,
  3. 將模型翻回(與1相反)。
相關問題