Я пытаюсь сделать очень простую вещь, но она не работает хорошо ... Я нарисовал оси (XYZ) Затем я сделал следующее:
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glRotated( 45 , 1 , 0 , 0 );//around X
glRotated(-45 , 0 , 1 , 0); //around Y
glBegin(GL_LINES);
glVertex3d(0,0,0);
glVertex3d( 1,1,1);
glEnd();
glPopMatrix();
Но как-то линияЯ рисую (1,1,1) не рисуется точно по оси Z ... Может кто-нибудь сказать мне, почему?
Обновление:
Так что я понимаю, что OpenGL вращаетсясцена с glRotated (45, 1, 0, 0), следовательно, ось Y больше не равна 0, 1, 0, следовательно, следующая операция glRotated (-45, 0, 1, 0) не будет вращаться вокруг "оригинала"Ось Y.я прав?
Позвольте мне сказать вам, что мне нужно сделать: я получаю плоскость по уравнению Ax + By + Cz + D = 0 от пользователя, и мне нужно нарисовать эту плоскость на экране.Итак, я хотел нарисовать бесконечную плоскость на XY, а затем повернуть + перевести его в нужное место.я хотел переместить самолет на его место, объединив ось Z с его нормалью.Может ли кто-нибудь дать мне 3 правильные операции: повернуть + повернуть + перевести?