晚上好, 我有一个脚本可以在paraview中旋转相机。它看起来像这样。
camera.Elevation(45)
camera.Roll(90)
Render()
问题是,当相机从已经旋转的位置开始旋转第二个命令时,改变命令的顺序会改变最终方向。有没有办法让两个命令同时生效? 感谢您的任何建议
答案 0 :(得分:1)
给定一个vtkCamera对象,有一个方法ApplyTransform
,它允许您将vtkTransform对象应用于您的相机。
与vtkCamera界面中公开的简单对象相比,vtkTransform对象有更多的转换方法。您甚至可以使用多个变换对象来构建变换系统。如果您已经拥有相机的变换矩阵,则可以使用SetMatrix
方法将其传递给vtkTransform对象。
答案 1 :(得分:1)
您无法同时应用这两个命令。此外,两个操作(Elevation和Roll)是非交换的:
确实,你可以在这里看到: https://www.paraview.org/Wiki/ParaView_and_Python Roll(角度)围绕由视图方向和数据集原点定义的轴执行旋转。
由于使用或不使用Elevation来改变视图方向,最终结果也是如此。