내 previous question에서부터 쿼터니언을 사용하여 개체를 회전 할 수 있지만 여전히 작은 문제가 있으며 해결 방법을 모른다. 아래 코드를 사용하면 객체가 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);
내가 무슨 뜻인지 이해하시기 바랍니다.
x 키를 오래 누르고 있으면 더 큰 각도가 생깁니 까? 키를 놓을 때이 값을 다시 설정합니까? 전체 코드를 게시하십시오. 그 쿼터니온 변수는 무엇입니까? –