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

What is riged body transformation matrix, What is riged body transformation...

What is riged body transformation matrix? Show that the composition lf two rotation is additive by concatenating the matrix representation of r (theta 2 ) = R (theta1 + theta 2 ) t

Low level techniques (motion specific), Low level techniques (motion specif...

Low level techniques (motion specific) Techniques utilized to fully control the motion of any graphic object in any type of animation scene, these techniques are also considere

Ray tracing algorithm, Ray Tracing:  Ray t racing is the technique to dete...

Ray Tracing:  Ray t racing is the technique to determine which objects in the scene are visible.  In this to identify the visible surface for each pixel we continue to bounce the

Explain difference between impact and non-impact printers, What is the diff...

What is the difference between impact and non-impact printers?  Impact printer press produced character faces against an inked ribbon on to the paper. A line printer and dot-ma

Applications for computer animation-physics, Normal 0 false f...

Normal 0 false false false EN-US X-NONE X-NONE

Multimedia applications, Multimedia Applications: The term itself clarifies...

Multimedia Applications: The term itself clarifies; this is a combination of various Medias of communication as text, graphic, audio and so on. Currently this field of multimedia i

Multimedia and its features, Multimedia as the name suggests MULTI and MEDI...

Multimedia as the name suggests MULTI and MEDIA utilizes some media for example: text, graphics, audio, video and also animation, to convey information. Multimedia also consider to

Graphical User interface and interactive input methods, all details of Grap...

all details of Graphical User interface and interactive input methods

Overstriking, why overstriking is harmful.justify

why overstriking is harmful.justify

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