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

Trivial acceptance case of cohen sutherland line clippings, Trivial accepta...

Trivial acceptance case of cohen sutherland line clippings Case 1: it is Trivial acceptance case whether the UDLR bit codes of the end points P, Q of a provided line is 0000

Differentiate images and graphics, Question 1 Discuss the general properti...

Question 1 Discuss the general properties of analog signal Question 2 Differentiate images and graphics Question 3 Explain the video compression standard H.263

Polygon representation methods - boundary representations, Polygon represen...

Polygon representation methods - Boundary representations Boundary representations: now the 3-D object is shown as a set of surfaces which separate the object interior from

Alias wavefront - softwares for computer animation, Alias Wavefront - Softw...

Alias Wavefront - Softwares for Computer Animation Alias is one of the highest computer animation packages out there. Alias was formed by the company which used to be Alias, a

Various ways of simulating motion, Various ways of simulating motion:- ...

Various ways of simulating motion:- -        Zero Acceleration (Constant Speed)           -        Non-Zero Accelerations -        Positive accelerations

Line drawing algorithm, when dda line drawing algorithm is more efficient t...

when dda line drawing algorithm is more efficient than bresenhem line drawing algorithm?

Briefly explain types of animation, Question 1 Briefly explain types of an...

Question 1 Briefly explain types of animation Question 2 Briefly explain steps involved in animation process Question 3 What is Layout? Explain two types of layout

What is run length encoding, What is run length encoding?   Run length ...

What is run length encoding?   Run length encoding is a compression method used to store the intensity values in the frame buffer, which keeps each scan line as a set of intege

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