Write a code to continuously rotate square about pivot point, Computer Graphics

Assignment Help:

Write a code to continuously rotate a square about a pivot point. 

  #include  

static GLfloat rotat=0.0;  

void init(void);

void display(void);

void reshape(int w, int h);

void rotate(void);  

int main()

{      

        glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE);

        glutInitWindowSize(500,500);

        glutInitWindowPosition(100,100);

        glutCreateWindow("Moving squares");

        init();

        glutDisplayFunc(display);

        glutReshapeFunc(reshape);

        glutIdleFunc(rotate);

        glutMainLoop();

}  

void init(void){ 

glClearColour(0.0,0.0,0.0,0.0);

}  

void display(void)

{  glClear(GL_COLOUR_BUFFER_BIT);

   glPushMatrix(); //Push the transformation matrix to stack 

   glTranslatef(-50.0f,-50.0f,0.0); 

   //Translate the pivot point to origin

   glRotatef(rotat,0.0,0.0,1.0); // Rotate about origin

   glTranslatef(50.0f,50.0f,0.0); 

   //Translate pivot point back to its position

   glColour3f(0.0,0.0,1.0); //Set colour of square

   glRectf(-50.0,-50.0,50.0,50.0); //Draw square 

   glPopMatrix(); //Pop the matrix from stack

   glutSwapBuffers(); // Swap buffers

}  

void reshape(int w, int h)

{        glViewport(0,0,(GLsizei)w,(GLsizei)h);

        glMatrixMode(GL_PROJECTION);

        glLoadIdentity();

        glOrtho(-250.0,250.0,-250.0,250.0,-1.0,1.0);

        glMatrixMode(GL_MODELVIEW);

        glLoadIdentity();

}  

void rotate(void)

{     rotat+=0.1; //Continuously increse the rotation angle by 0.1

                if(rotat>360.0)

                        rotat-=360.0;

        glutPostRedisplay(); //send the current window for

redisplay

}

 


Related Discussions:- Write a code to continuously rotate square about pivot point

Three dimensions, A triangle is having the vertices A(0,0) B(1,2) and C (5,...

A triangle is having the vertices A(0,0) B(1,2) and C (5,2).Magnify the triangle to thrice it''s size while keeping C(5,2) fixed

Animation, what type of animation is produced by the line y=mx+c?

what type of animation is produced by the line y=mx+c?

Sub classes of orthographic projection, Sub Classes of Orthographic Project...

Sub Classes of Orthographic Projection There are three ordinary sub-classes of Orthographic (axonometric) projections as: 1) Isometric: The direction of projection makes

Scan conversion, State the purpose of scan conversion , along with the side...

State the purpose of scan conversion , along with the side effects

Gourand shading and phong shading, Gourand shading and Phong shading ...

Gourand shading and Phong shading a. Gourand shading OR Intensity interpolation scheme We will discuss such scheme in further section of Gourand shading OR Intensity in

Find out average unit normal vector at each polygon vertex, To find out ave...

To find out average unit normal vector at each polygon vertex At each polygon vertex as demonstrated by point V in the figure above, the normal vector is acquired by averaging

Area subdivision method-obscures the continuing two surface, Assume here ar...

Assume here are three polygon surfaces P,Q, R along with vertices specified by as: P: P1(1,1,1), P2(4,5,2), P3(5,2,5) And as Q: Q1(2,2,0.5), Q2(3,3,1.75), Q3(6,1,0.5) R: R1(0.5,

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd