如何在3D场景中使用和设置轴

2024-09-29 19:32:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个用python编写的基于ODE(开放动态引擎)的模拟器。为了可视化,我选择了VTK。在

对于模拟中的每个对象,我创建了一个对应的源(例如vtkCubeSource)、映射器和actor。我能够正确显示对象并在模拟运行时更新它们。在

我想添加轴,以有一个参考点,并显示每个轴的方向。我意识到,默认情况下,X和Z在屏幕的平面上,Y指向外面。在我的节目里我有一个不同的惯例。在

我可以用两种方式显示轴:

1)Image

axes = vtk.vtkAxes()
axesMapper = vtk.vtkPolyDataMapper()
axesMapper.SetInputConnection(axes.GetOutputPort())
axesActor = vtk.vtkActor()
axesActor.SetMapper(axesMapper)
axesActor.GetProperty().SetLineWidth(4)

2)Image(颜色与第一个大小写不匹配)

^{pr2}$

在第二种方法中,用户可以设置许多与轴的显示方式相关的参数。在第一个例子中,我只设置了线宽,其他什么都没有。在

所以,我的问题是:

  • 在三维场景中定义和显示轴的正确方法是什么?我只希望他们有固定的位置和方向。在
  • 如何为轴方向设置不同的约定,包括轴的显示和一般可视化?在

Tags: 对象方法image引擎可视化动态模拟器方向
1条回答
网友
1楼 · 发布于 2024-09-29 19:32:55

好吧,如果你不乱处理对象的变换矩阵来显示 目的,只要把你的相机放到 使用轴接近2时的不同位置。调整的简单方法 你的相机位置是:俯仰()、方位角()和滚动()。在

如果处理对象变换,则将相同的变换应用于 轴。在


季安南·祖基奇亲切地回答了这个问题vtkusers@vtk.org邮件列表。 http://www.vtk.org/pipermail/vtkusers/2011-November/119990.html

相关问题 更多 >

    热门问题