Я пытаюсь сделать очень простую вещь, но она не работает хорошо .... я обратил оси (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 .... Может ли кто-нибудь сказать мне, почему?
Update:
Так что я понимаю, что OPENGL вращает сцену с glRotated (45, 1, 0, 0), следовательно, ось Y не на 0, 1, 0 больше, следовательно, следующей операции glRotated (-45, 0, 1, 0) не будет вращаться вокруг «оригинальной» оси Y. я прав?
Позвольте мне рассказать вам, что мне нужно сделать: Я получаю плоскость по уравнению Ax + By + Cz + D = 0 от пользователя, и мне нужно нарисовать эту плоскость на экране. Так что у меня было, что я maind, чтобы нарисовать инфинитный самолет на XY, а затем ругать + перевести его в нужное место. Я хотел переместить самолет на его место, объединив ось Z с его нормальным. Может ли кто-нибудь дать мне 3 правильные операции: повернуть + повернуть + перевести?
Привет, ребята, спасибо! – talel