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

Definitions of hypertext, Definitions of Hypertext A manner of pre...

Definitions of Hypertext A manner of presenting information online along with links among one piece of information and the other. These links are termed as hypertext links

Important points about the curve segment, Important Points about the Curve ...

Important Points about the Curve segment - properties of bezier curves Note : if P (u) → = Bezier curve of sequence n and Q (u) → Bezier curve of sequence m. After that Co

Education training process, Education training process falls into three gen...

Education training process falls into three general categories: 1) Instructor Support Products: These are used through teachers additionally to text books, lectures and other

Midpoint circle algorithm for scan converting a circle, Explain Bresenham s...

Explain Bresenham s circle drawing algorithm,  OR   Explain midpoint circle algorithm for scan converting a circle. Midpoint Circle Algorithm   1. Input radius r and circle

Reflection, Determine the transformation matrix for the reflection, Compute...

Determine the transformation matrix for the reflection, Computer Graphics

Space exploration-applications for computer animation, Space Exploration: ...

Space Exploration: now, the farthest point far away from earth which the human was on the moon, although we continually want to learn more. A trip by a human to the other planet w

Detailed explanation on mounting, QUESTION While the design and printin...

QUESTION While the design and printing of a job is of extreme importance, it is what happens to the job after it is printed that can really make it fantastic You have always

Proof of subsequent properties of bezier curves, Proof of subsequent proper...

Proof of subsequent properties of Bezier curves Note: Proof of subsequent properties of Bezier curves is left as a work out for the students P' (0) = n (p 1 - p 0 ) P

Dda, differentiate between dda and bresenhams line algorithm

differentiate between dda and bresenhams line algorithm

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