hi…
below i try to draw a simple flag… and now i want to raotate this x OR y axis… how can i do it??
this is my code:
#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <math.h>
#include <stdlib.h>
#define PI 3.14159265
int color[5][3]={{0,0,1}, {0,0,0},{1,0,0}, {1,1,0},{0,1,0}};
float center[5][2]={{-30.0,10.0},{-8.0,10.0},{14.0,10.0},{-19.0,-2.0},{4.0,-2.0}};
static void circle(float radius)
{
int i;
glBegin(GL_LINE_LOOP);
for (i = 0; i < 90; i++){
glVertex2f(radius*cos((2*PI*i)/90),radius*sin((2*PI*i)/90));
glVertex2f(radius*cos((2*PI*(i+1))/90),radius*sin((2*PI*(i+1))/90));
}
glEnd();
}
void display (void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
for(int i = 0 ; i <5; i++)
{
glColor3f (color[i][0],color[i][1],color[i][2]);
glPushMatrix();
glTranslatef( center[i][0], center[i][1], -100.0 );
circle(10);
glPopMatrix();
}
glutSwapBuffers();
}
void init()
{
glPointSize(3);
glShadeModel (GL_FLAT);
glMatrixMode(GL_PROJECTION);
gluPerspective(45,1.0,10.0,200.0);
glMatrixMode(GL_MODELVIEW);
glClearColor(1.0,1.0,1.0,0.0);
}
int main(int argc, char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowPosition(100,100);
glutInitWindowSize(110*3, 110*3);
glutCreateWindow("simple rotate");
glutDisplayFunc(display);
init();
glutMainLoop();
return 0;
}