我正在創建一個用python編碼並基於ODE(Open Dynamics Engine)的模擬器。爲了可視化,我選擇了VTK。如何在3D場景中使用和設置座標軸
對於模擬中的每個對象,我創建一個相應的源(例如vtkCubeSource),映射器和actor。我能夠正確顯示對象並在仿真運行時更新它們。
我想添加座標軸以獲得參考點並顯示每個座標軸的方向。這樣做,我意識到,默認情況下,X和Z在屏幕平面,Y向外指向。在我的計劃中,我有一個不同的約定。
我已經能夠顯示軸在2種方式:
1)Image
axes = vtk.vtkAxes()
axesMapper = vtk.vtkPolyDataMapper()
axesMapper.SetInputConnection(axes.GetOutputPort())
axesActor = vtk.vtkActor()
axesActor.SetMapper(axesMapper)
axesActor.GetProperty().SetLineWidth(4)
2)Image(顏色不匹配與第一殼體)
axesActor = vtk.vtkAxesActor()
axesActor.AxisLabelsOn()
axesActor.SetShaftTypeToCylinder()
axesActor.SetCylinderRadius(0.05)
在第二個中,允許用戶設置許多與軸顯示方式有關的參數。在第一個,我只設法設置線寬,但沒有別的。
所以,我的問題是:
- 這是在3D場景定義和顯示軸的正確方法是什麼?我只是想讓他們處於一個固定的位置和方向。
- 如何爲軸顯示和一般可視化設置不同的軸定位約定?