//    ÁÒáÅéÇ Quiz1 ¢éÍ 6 ÃéÍ¹æ¨éÒ

#include 
#include 
#define PI 3.1415926535897932384626433832795
#define SINE  0.86602540378443864676372317075285

float  theta ;
GLsizei wh = 500, ww=500;
GLfloat SIZE = 3.0;	 

void init (void)	{
    glClearColor (1.0, 1.0, 1.0, 0.0);  
}

void display (void) {
    glClear (GL_COLOR_BUFFER_BIT);  
	glColor3f(0,0,1);
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

	glBegin(GL_POLYGON);
		glVertex2f(1, 0);
		glVertex2f(0.5, SINE);
		glVertex2f(-0.5, SINE);
		glVertex2f(-1, 0);
		glVertex2f(-0.5, -SINE);
		glVertex2f(0.5, -SINE);
	glEnd();
	glRotatef(2.0, 0, 0, 1.0);

	glutSwapBuffers();
    glFlush ( );   
}

void idle(void) {
	unsigned int i,j ;
	theta += 2;
	for (i=0; i<=0xffff; i++)
		for (j=0; j<=0x2f; j++);
	if (theta >= 360.0)
		theta -= 360.0;
	glutPostRedisplay();
}

void myReshape(int w, int h)	{
    glViewport(0, 0, w, h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    if (w <= h)
	    gluOrtho2D (-2.0, 2, -2.0*h/w, 2.0*h/w);
	else
	    gluOrtho2D (-2.0, 2, -2.0*w/h, 2.0*w/h);

    glMatrixMode(GL_MODELVIEW);
}

void main (int argc, char** argv)	 {
    glutInit (&argc, argv);       
    glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB); 
    glutInitWindowPosition (50, 50);  
    glutInitWindowSize (500, 500); 
    glutCreateWindow ("Quiz1-6"); 
    init ( );   
	glutReshapeFunc(myReshape);
    glutDisplayFunc (display);    
	glutIdleFunc(idle);
    glutMainLoop ( );   
}

//â´Â MK. [30 ¡.¤. 2548 , 23:50:45 ¹.]