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

What is surface patch, What is surface patch?  A single surface element...

What is surface patch?  A single surface element can be explained as the surface traced out as two parameters (u, v) take all possible values between 0 and 1 in a two-parameter

Explain the working of animators, Explain the working of Animators Anim...

Explain the working of Animators Animators want to create a human image that moves and interacts with its background in such a way that viewers can't tell if a specific scene i

What do you meant by the term typography, Question 1: (a) What do you m...

Question 1: (a) What do you meant by the term typography and what is its main purpose? (b) Differentiate between typeface and font using examples. (c) Design knows many diffe

Midpoint circle generation algorithm, Midpoint circle generation algorithm ...

Midpoint circle generation algorithm This makes use of a circle function. Based on this circle function, a decision parameter is created which is used to decide successive pixe

Graphical User interface and interactive input methods, all details of Grap...

all details of Graphical User interface and interactive input methods

Normalization transformation, what is normalization transformation?why is i...

what is normalization transformation?why is it needed and important?give simple example also.

Unity, what I unity of java game?

what I unity of java game?

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

Fixed point scaling, what is fixed point scaling? how composit transformati...

what is fixed point scaling? how composit transformation techniques works on it

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