임 x 및 y 축에 대한 큐브의 간단한 회전을하려고 : 항상 양의 X 하여 x 축 위에 큐브를 회전 내가 원하는OpenGL은 매트릭스 회전 사원 수는
을하고 위에 큐브를 회전 X 축 회전 제
의 양 y는 독립적 y 축 I 소박했다 : 다음
glRotatef(x,1,0,0);
glRotatef(y,0,1,0);
하지만 첫번째 회전에 OV 그러면 x가 y 위로 회전합니다. x 접근과 독립적으로 y를 회전하려고합니다. 그래서 난 메신저 단계 또는 2
누락 생각 ... 그냥 거의 정확히 2 연속 glRotates 일을 성취 한 것을 수행
Quaternion Rotation1;
Rotation1.createFromAxisAngle(0,1, 0, globalRotateY);
Rotation1.normalize();
Quaternion Rotation2;
Rotation2.createFromAxisAngle(1,0, 0, globalRotateX);
Rotation2.normalize();
GLfloat Matrix[16];
Quaternion q=Rotation2 * Rotation1;
q.createMatrix(Matrix);
glMultMatrixf(Matrix);
을 :
나는 사원 수를 조사하기 시작, 그래서 시도 쿼터니언은 갈 길입니까, 아니면 다른 무언가를 사용해야합니까? 만약 쿼터니언이 어떤 단계로 나아갈 수 있다면 큐브가 각 축에 독립적으로 회전하도록 추가 할 수 있습니다. 내가 다른 사람이 같은 문제가 있다고 생각 : 당신은 당신이해야 할 노력하고 무엇에 대한 자세한 설명을 제공 할 수 있다면 Rotating OpenGL scene in 2 axes
을 그립니다. 나는 스크린 y 축 회전을 제어하기 위해 왼쪽으로, 그리고 스크린 x 축 회전을 downd 제어하기를 원한다. 나는 그것들이 다른 축과 독립적으로 회전하기를 원하지만 화면 글로벌 축에서만 회전 시키길 원한다. 내가 2 glRotations 할 경우 한 축 회전 다른 mutliplies 때문에이 동작이 발생하지 않습니다. – yeahdixon
예를 들어 큐브를 회전하는 경우 : 회전 작업이 없으면 한 면만 나타납니다. 그렇다면 glRotatef (90,1,0,0); \t glRotatef (45,0,1,0); \t ⁃ \t은 실제로 작업을 바꾼 결과 인 카메라 모서리가있는 큐브를 원할 때 기울인 큐브 (다이아몬드)를 제공합니다. \t glRotatef (45,0,1,0); \t glRotatef (90,1,0,0); 회전 명령을 바꾸기 만했지만 각도 값을 뒤집 으면 같은 문제가 발생합니다. – yeahdixon