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

Distinguish between mono and stereo sound, Problem: (a) Distinguish be...

Problem: (a) Distinguish between mono and stereo sound? (b) Calculate the size of a 5 minutes mono sound file of CD quality and with a 16 -bit rate. (c) With reference

Transformation, Define transformation. Explain all basic transformation

Define transformation. Explain all basic transformation

3-dimentional, expalin 3-dimentional display methods

expalin 3-dimentional display methods

Animated gif, Animated GIF: For combining various GIF images in a particul...

Animated GIF: For combining various GIF images in a particular file to create animation, GIF file format is used. There are several drawbacks to such functionality. The form

Translate a square - 2-d and 3-d transformations, Example1: Translate a sq...

Example1: Translate a square ABCD along with the coordinates as: A(0,0),B(5,0),C(5,5),D(0,5) via 2 units in x-direction and 3 units in y-direction. Solution: We can show the

Describe the term multimedia, Question: (a) Describe the term ‘Multimed...

Question: (a) Describe the term ‘Multimedia'. (b) Briefly describe two main reasons to use ‘Compression' in Multimedia. (c) All Multimedia development teams could have

Mplab ide software, MPLAB C18 TOOL (MC18) The MPLAB C18 compiler was de...

MPLAB C18 TOOL (MC18) The MPLAB C18 compiler was designed as a full featured ASNI- compliant C - complier for the PIC18 family of 8bits MCUs. MC18 compiler is integrated with c

Advantages of jpeg images, Advantages of JPEG Images Huge compressi...

Advantages of JPEG Images Huge compression ratios mean sooner download speeds. JPEG produces outstanding results for main photographs and complicated images. JPEG s

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