如何使paraview的相机命令同时生效

时间:2018-04-05 14:55:05

标签: python paraview

晚上好, 我有一个脚本可以在paraview中旋转相机。它看起来像这样。

camera.Elevation(45)  
camera.Roll(90) 
Render()

问题是,当相机从已经旋转的位置开始旋转第二个命令时,改变命令的顺序会改变最终方向。有没有办法让两个命令同时生效? 感谢您的任何建议

2 个答案:

答案 0 :(得分:1)

给定一个vtkCamera对象,有一个方法ApplyTransform,它允许您将vtkTransform对象应用于您的相机。

与vtkCamera界面中公开的简单对象相比,vtkTransform对象有更多的转换方法。您甚至可以使用多个变换对象来构建变换系统。如果您已经拥有相机的变换矩阵,则可以使用SetMatrix方法将其传递给vtkTransform对象。

https://www.vtk.org/doc/nightly/html/classvtkTransform.html

答案 1 :(得分:1)

您无法同时应用这两个命令。此外,两个操作(Elevation和Roll)是非交换的:

确实,你可以在这里看到: https://www.paraview.org/Wiki/ParaView_and_Python Roll(角度)围绕由视图方向和数据集原点定义的轴执行旋转。

由于使用或不使用Elevation来改变视图方向,最终结果也是如此。