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

Sequence of steps to generate a full animation, Sequence of Steps to Genera...

Sequence of Steps to Generate a Full Animation The sequence of steps to generate a full animation would be as given below: 1)  Improve a script or story for the animation.

Geometrical examine types of line clipping, Geometrical examine Types of Li...

Geometrical examine Types of Line Clipping Geometrical examine of the above kinds of clipping (it assists to get point of intersection of line PQ along with any edge). Assu

Animate 3d articulated character - forward kinematic method, In this progra...

In this programming assignment, you will animate and pose 3D articulated characters by implementing forward and inverse kinematic methods. You should be able to animate character j

Computer Animation, Computer Animation The term Animation is derived fr...

Computer Animation The term Animation is derived from 'animate' that literally means 'to give life to', 'Animating' a thing implies to impart movement to something that can't m

What makes a pattern a pattern, QUESTION (a) Suppose that you have been...

QUESTION (a) Suppose that you have been assigned to re-engineer the existing systems for a company. Do you think that design patterns can be applied to these existing systems?

Transformation for 3-d rotation, Transformation for 3-D Rotation Rotat...

Transformation for 3-D Rotation Rotation in 3-dimensions is considerably more complicated then rotation in 2-dimensions. In 2-Dimentional, a rotation is prescribed via an angl

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