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

Different advertising hooks, Question: (a) Name two visual effects you...

Question: (a) Name two visual effects you would use to communicate: i. Good old days ii. Rebellion iii. Fear (b) Explain each of your answers given in section (a).

Explain the lofting method in maya, QUESTION 1: a) Draw a Bezier curve ...

QUESTION 1: a) Draw a Bezier curve showing the following components i. hull ii. curve CV iii. span iv. start and end point b) Maya provides highly effective tools for all t

Determine the transformation matrix for the reflection, Determine the trans...

Determine the transformation matrix for the reflection about the line y = x. Solution: The transformation for mirror reflection regarding to the line y = x, comprises the subs

Draw the letters s, Draw the letters S, P, R or U of English alphabet using...

Draw the letters S, P, R or U of English alphabet using multiple Bézier curves.  A complete code for plotting Bezier curves is given previously. There in the code, control point

Computer Architecture, How many 128 x 8 RAM chips are needed to provide a m...

How many 128 x 8 RAM chips are needed to provide a memory capacity of 4096 16 bits?

Types of bitmap images, Types of Bitmap Images Bitmap images can includ...

Types of Bitmap Images Bitmap images can include any number of colours but we distinguish among four main categories as: 1)      Line-art: These are images that include

Design a game using graphical user interface, BlackJack is a popular card g...

BlackJack is a popular card game played in many casinos. The player plays against the dealer aiming to reach 21 points, or a score higher than the dealer without exceeding 21. The

2d clipping, What is 2d clipping in computer graphics

What is 2d clipping in computer graphics

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