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

Basic graphics and mouse events, For this assignment, you will program a ga...

For this assignment, you will program a game called Pig. Pig is a two-player game where players compete to be the first to reach (or surpass) 100 points. Pig usually involves playe

Web-based services, Web-based Services: Commonly utilized software is: ...

Web-based Services: Commonly utilized software is: Protected Area Archive characteristics: Image display, roam, zoom and Image enhancement. Simple image processing.

Tones and tints, Q. What is the difference between tones and tints? Which o...

Q. What is the difference between tones and tints? Which one component of YIQ color model does black- and- white television use? How can you convert a ZTSC video signal to an RGB s

Define emissive and non-emissive displays, What do you mean by emissive and...

What do you mean by emissive and non-emissive displays?  The emissive display changes electrical energy into light energy. The plasma panels, thin film electro-luminescent disp

Create an animated application, The purpose of this assignment is for you t...

The purpose of this assignment is for you to create an animation like you would see on an electronic greeting card. Have fun and be creative.  Here are the requirements: you

Voltage or electro-magnetic field tablet and pointer, (a)  Voltage or Elect...

(a)  Voltage or Electro-Magnetic Field Tablet and Pointer: This has a grid of wires, embedded in the tablet surface along with various voltages or magnetic fields consequent to va

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?

Explain what the term blocking means in animation, Question 1: (a) Exp...

Question 1: (a) Explain what are Final Gathering and Global Illumination and state why you would use those features when you render in MAYA. (b) List clearly the steps in

Define addressability, What is meant by Addressability?  The Addressabi...

What is meant by Addressability?  The Addressability is the number of individual dots per inch (d.p.i) that can be formed. If the address of the current dot is (x, y) then the

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