该问题专门发生在名为vtkTransform的VTK对象上。该方法是RotateWXYZ(angle,x,y,z)。效果很好:
transform = vtk.vtkTransform()
transform.RotateWXYZ(45,0,1,0)
但是在尝试输入元组时:
a = (45,0,1,0)
transform.RotateWXYZ(a)
我收到以下消息:
TypeError:RotateWXYZ()的任何重载都不带1个参数
如何为该方法“拆包”元组以将值作为单独的输入接收?
答案 0 :(得分:-1)
编辑:
如Martijn所说,最好的解决方案是
transform.RotateWXYZ(*a)
要进行转换。RotateWXYZ()必须传递 4个参数,而不是一个元组。
transform = vtk.vtkTransform()
transform.RotateWXYZ(45,0,1,0)
或者您可以执行以下操作:
a = (45,0,1,0)
transform.RotateWXYZ(a[0],a[1],a[2],a[3])