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

Line drawing - points and lines, Line Drawing - Points and lines Line ...

Line Drawing - Points and lines Line drawing is accomplished through computing the intermediate point coordinates along the line path between two given end points. Since, scre

Simulation-applications for computer animation, Simulation: There are seve...

Simulation: There are several things, places and events people cannot witness in first person. There are a lot of causes for this. Several may happen too rapidly, several may be t

3D transformation, what are the steps involved in 3D transformation

what are the steps involved in 3D transformation

What is shearing, What is shearing?  The shearing transformation actua...

What is shearing?  The shearing transformation actually slants the object with the X direction or the Y direction as needed.ie; this transformation slants the shape of an obje

Clip a line segment - cyrus beck line clipping algorithm, How does the Cyru...

How does the Cyrus Beck line clipping algorithm, clip a line segment whether the window is non convex? Solution : see the following figure 13, now the window is non-convex in s

Write a c code for generating concentric circles, Write a C code for genera...

Write a C code for generating concentric circles.  Put the circle function circleMidpoint()in a for loop  as follows: for( int radius = MinRadius; radius circleMidpoint(i

Describe transformation, What is Transformation?  Transformation is the...

What is Transformation?  Transformation is the process of introducing changes in the shape size and orientation of the object using scaling rotation reflection shearing & trans

Distinguish between convex and concave polygons, Distinguish between convex...

Distinguish between convex and concave polygons? If the line joining any two points in the polygon lies totally inside the polygon then, they are called as convex polygons. If

Graphics, GRAPHICS: It is one of the core elements of any multimedia ...

GRAPHICS: It is one of the core elements of any multimedia application. We all have heard a well-known saying as "one picture conveys a message of 1000 words", hence without

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