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

Proof of subsequent properties of bezier curves, Proof of subsequent proper...

Proof of subsequent properties of Bezier curves Note: Proof of subsequent properties of Bezier curves is left as a work out for the students P' (0) = n (p 1 - p 0 ) P

Overstriking, why overstriking is harmful.justify

why overstriking is harmful.justify

Image editing tools in multimedia, Image Editing Tools These are specia...

Image Editing Tools These are specializing and influential tools for enhancing and re-touching existing bit-mapped images. Such applications also give several of the features a

Write a note on mpeg-2, Question 1 Write a note on digitizers Quest...

Question 1 Write a note on digitizers Question 2 Discuss on line drawing algorithm Question 3 Explain 3D viewing Question 4 Explain different types of cohe

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

Clipping and 3d primitives, Clipping and 3D Primitives This unit introd...

Clipping and 3D Primitives This unit introduces you to three important concepts of Computer Graphics. After that discusses the concept of clipping, which means removal of objec

3d studio max -softwares for computer animation, 3DStudio Max -Softwares fo...

3DStudio Max -Softwares for computer animation The successor to 3-DStudio 3.0, 3-DStudio Max runs in WindowsNT. This is completely object-oriented, featuring new enhancements a

What is the minimum amount of video ram, Consider a raster system with the ...

Consider a raster system with the resolution of 1024 x 768 pixels and the color palette calls for 65,536 colors. What is the minimum amount of video RAM that the computer must have

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