继我之前的问题之后,我现在已经设法用四元数旋转我的对象,但仍然存在一个小问题,我不知道如何解决它。使用下面的代码,我的对象围绕 x 和 y 轴旋转。但是当我在 x 键和 y 键之间切换时,它总是跳回初始位置。所以我从来没有从新位置得到轮换,但总是从程序开始的那个位置轮换。
Quaternion q1 = quaternion->quat_rotate(anglex,1,0,0);
Quaternion q2 = quaternion->quat_rotate(angley,0,1,0);
quaternion->mult(q1,q2);
quaternion->quat_matrix(Matrix);
glMultMatrixf(Matrix);
object->drawObject(Red,Green,Blue);
我希望你明白我的意思。