Hi everyone!
I want to rotate a cube on the x-Axis and y-Axis, but the global (fixed).
The rotation about the x-Axis is already working, but y-Axis is still a problem. A tried many codes, but nothing is working… here my code(it’s old opengl)
Part for Drawing:
[b]glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-10.0,10.0,-10.0,10.0,100.0,120.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.0,0.0,-110.0);
glRotatef(25.0,1.0,0.0,0.0);
glRotatef(-5.0,0.0,1.0,0.0);
glRotatef(y,0.0,1.0,0.0);
glRotatef(x,cos(yM_PI/180),0.0,sin(yM_PI/180));
glBegin(GL_QUADS);
glColor3f(1.0,0.0,0.0);
glVertex3f(-5.0,-5.0,5.0);
glVertex3f(5.0,-5.0,5.0);
glVertex3f(5.0,5.0,5.0);
glVertex3f(-5.0,5.0,5.0);
glVertex3f(-5.0,5.0,-5.0);
glVertex3f(5.0,5.0,-5.0);
glVertex3f(5.0,-5.0,-5.0);
glVertex3f(-5.0,-5.0,-5.0);
glColor3f(0.0,1.0,0.0);
glVertex3f(-5.0,-5.0,-5.0);
glVertex3f(-5.0,-5.0,5.0);
glVertex3f(-5.0,5.0,5.0);
glVertex3f(-5.0,5.0,-5.0);
glVertex3f(5.0,5.0,-5.0);
glVertex3f(5.0,5.0,5.0);
glVertex3f(5.0,-5.0,5.0);
glVertex3f(5.0,-5.0,-5.0);
glColor3f(0.0,0.0,1.0);
glVertex3f(-5.0,-5.0,-5.0);
glVertex3f(5.0,-5.0,-5.0);
glVertex3f(5.0,-5.0,5.0);
glVertex3f(-5.0,-5.0,5.0);
glVertex3f(-5.0,5.0,5.0);
glVertex3f(5.0,5.0,5.0);
glVertex3f(5.0,5.0,-5.0);
glVertex3f(-5.0,5.0,-5.0);
glEnd();[/b]
Key-Routine:
if(key==GLUT_KEY_LEFT)
{
y=y-1.0;
glutPostRedisplay();
}
else
if(key==GLUT_KEY_RIGHT)
{
y=y+1.0;
glutPostRedisplay();
}
else
if(key==GLUT_KEY_DOWN)
{
x=x+1.0;
glutPostRedisplay();
}
else
if(key==GLUT_KEY_UP)
{
x=x-1.0;
glutPostRedisplay();
}
Thanks for your help,
I just need a idea for finding the right rotation axis