我正在创建一个用python编写并基于ODE ()的模拟器。为了可视化,我选择了VTK。
对于仿真中的每个对象,我创建了相应的源(例如vtkCubeSource)、映射器和参与者。我能够正确地显示对象并在模拟运行时更新它们。
我想添加轴,以有一个参照点,并显示每个轴的方向。这样做,我意识到,在默认情况下,X和Z在屏幕的平面上,Y点向外。在我的节目里,我有一个不同的会议。
我可以用两种方式显示轴:
1) 图像
axes = vtk.vtkAxes()
axesMapper = vtk.vtkPolyDataMapper()
axesMapper.SetInputConnection(axes.GetOutputPort())
axesActor = vtk.vtkActor()
axesActor.SetMapper(axesMapper)
axesActor.GetProperty().SetLineWidth(4)2) 图像 (颜色与第一种情况不匹配)
axesActor = vtk.vtkAxesActor()
axesActor.AxisLabelsOn()
axesActor.SetShaftTypeToCylinder()
axesActor.SetCylinderRadius(0.05)在第二种情况下,允许用户设置与轴的显示方式相关的许多参数。在第一种情况下,我只设置了线宽,而没有其他任何设置。
所以,我的问题是:
发布于 2011-11-11 20:33:49
好吧,如果你不为了显示的目的而弄乱物体的变换矩阵,在使用轴方法2的时候,仅仅把你的相机放在一个不同的位置就足够了。调整相机位置的简单方法有:俯仰(),方位()和滚()。
如果您处理对象转换,那么对轴应用相同的转换。
D vtkusers@vtk.orgženan Zukić在ž邮件列表中回答了这个问题。http://www.vtk.org/pipermail/vtkusers/2011-November/119990.html
https://stackoverflow.com/questions/7810632
复制相似问题