你如何使用 Vispy 在三个维度(滚动、俯仰、偏航)上旋转立方体?
这里有一个二维旋转立方体的示例,但我不确定如何将其扩展为在三维旋转。
我想我需要修改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()
至:
def on_timer(self, event):
self.gamma += .5
self.theta += .5
self.phi += .5
self.model = np.dot(
rotate(self.gamma, (1, 0, 0)),
np.dot(rotate(self.theta, (0, 1, 0)),
rotate(self.phi, (0, 0, 1))),
)
self.program['u_model'] = self.model
self.update()
但这似乎只会使第三维重复第二维。我究竟做错了什么?