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

Polygon filling algorithm - raster graphics and clipping, Polygon Filling A...

Polygon Filling Algorithm - Raster Graphics and Clipping In several graphics displays, this becomes essential to differentiate between different regions by filling them along

Homogeneous coordinates, What are the uses of homogeneous coordinates? Conv...

What are the uses of homogeneous coordinates? Convert translation rotation and scaling in homogeneous coordinates. In mathematics homogeneous coordinates introduced by August

Explain the fundamental differences of tracking and leading, Question 1: ...

Question 1: (a)Using your awareness of typography and design, make a new logo manually for one of the following. The logo should compulsorily consist of the name and may or may

Gks, explain about gks

explain about gks

Polygon clipping algorithm, Write a polygon clipping algorithm to clip a po...

Write a polygon clipping algorithm to clip a polygon against rectangular clipping are. Read the vertices of polygon to be clipped. 2. Read the coordinates of the rectangular cl

Curve segment - properties of bezier curves, Curve segment - properties of ...

Curve segment - properties of bezier curves Note : 1) The joining point on the curve along w.r.t. the parameter based upon second derivates of Q(t) is the acceleration. Wh

Define coherence properties, Define coherence properties?  A coherence ...

Define coherence properties?  A coherence property of a scene is a part of a scene by which relate single part of the scene with the other parts of the scene.

What is the use of projection reference point, What is the use of Projectio...

What is the use of Projection reference point?  In Perspective projection, the object positions are transformed to the view plane with these converged projection line and the p

Differences, difference between vecgen and breshnam algorithm

difference between vecgen and breshnam algorithm

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