如何使用Vispy在三维空间中旋转立方体

2024-05-29 02:46:33 发布

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

如何使用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}$

但这似乎只会使第三维度与第二维度重复。我做错什么了?在


Tags: 方法selfeventmodelhereondefnp
1条回答
网友
1楼 · 发布于 2024-05-29 02:46:33

不增加gamma、theta和phi,运行相同的代码,但只增加三个变量中的一个。对三个变量重复上述步骤。你会发现,实际上,你用你的新代码同时在三个不同的维度上旋转;也许它看起来不像你想象的那样?或者你可能认为它会从立方体的角度改变,但它实际上是在从相机的角度进行坐标变换?在

另外,一个更简单的起点可能是scene cube example: https://github.com/vispy/vispy/blob/master/examples/basics/scene/cube.py。除非你真的想了解较低层次的openglapi层。在

相关问题 更多 >

    热门问题