如何使用Vispy在三维空间(滚动、俯仰、偏航)旋转立方体?在
这里有一个在二维here旋转立方体的例子,但我不确定如何扩展它以在第三维度旋转。在
我想我需要修改on_timer()
方法。我试着把它改成:
def on_timer(self, event):
self.theta += .5
self.phi += .5
self.model = np.dot(rotate(self.theta, (0, 1, 0)),
rotate(self.phi, (0, 0, 1)))
self.program['u_model'] = self.model
self.update()
收件人:
^{pr2}$但这似乎只会使第三维度与第二维度重复。我做错什么了?在
不增加gamma、theta和phi,运行相同的代码,但只增加三个变量中的一个。对三个变量重复上述步骤。你会发现,实际上,你用你的新代码同时在三个不同的维度上旋转;也许它看起来不像你想象的那样?或者你可能认为它会从立方体的角度改变,但它实际上是在从相机的角度进行坐标变换?在
另外,一个更简单的起点可能是scene cube example: https://github.com/vispy/vispy/blob/master/examples/basics/scene/cube.py。除非你真的想了解较低层次的openglapi层。在
相关问题 更多 >
编程相关推荐