用鼠标PyOpenGL旋转3D对象

时间:2019-10-20 02:29:44

标签: python opengl graphics 3d pyopengl

我有一个3D对象,我想通过鼠标拖动来旋转,使用四元数,并计算每个渲染循环中鼠标从X和Y轴的最后位置移动多少度。

但是,由于我只在X和Y轴上移动,所以当我在Y轴上旋转大约90度,然后再旋转X轴时,它不能像其他3D可视化程序那样工作,以这种方式旋转Y时,鼠标水平移动时,旋转是在Z轴而不是X轴上进行的,并且当Y返回到平坦位置时,它会从Z轴旋转到X轴。

示例:Matplotlib

matplotlib

我的程序使用四元数旋转X和Y轴

enter image description here

如果我将旋转方向从X轴更改为Z轴,则它会根据上视角的需要工作

enter image description here

因此,我了解到,鉴于Y的变化量很大,但我找不到方法,因此我需要找出一种混合X和Z旋转的方法。

0 个答案:

没有答案