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

Differentiate between spatial and temporal interpolations, Question 1: ...

Question 1: (a) Define what you understand by the following terms: i) Pixel ii) Pixel Aspect Ratio iii) Frame rates. iv) Animation In each of the above, use diagr

Explain the bresenham line generation algorithm, 1. Explain the Bresenham ...

1. Explain the Bresenham line generation algorithm via digitizing the line with end  points as (15, 5) and also (25,13). Ans. Now we are utilizing the Bresenham line generati

What is orthographic oblique projection, What is orthographic oblique proje...

What is orthographic oblique projection?  When the direction of the projection is not normal (not perpendicular) to the view plane then the projection is called as oblique proj

Types of polygon tables curves and surfaces, Types of Polygon tables curves...

Types of Polygon tables curves and surfaces Attribute tables: This table has object information as transparency, surface reflexivity, texture features of an object in the vi

What is the use of projection reference point, What is the use of Projectio...

What is the use of Projection reference point?  In Perspective projection, the object positions are transformed to the view plane with these converged projection line and the p

Image precision, what is image precision in computer graphics

what is image precision in computer graphics

Y-shear about the origin - 2-d and 3-d transformations, y-shear about the o...

y-shear about the origin - 2-d and 3-d transformations Suppose an object point P(x,y) be moved to P'(x',y') in the x-direction, through the specified scale parameter 'b'. that

Rotation about an arbitrary axis, Rotation about an arbitrary axis Rota...

Rotation about an arbitrary axis Rotation about an arbitrary axis is a composition of several rotations and translation operations. What you need to do is the following:  a)

Animate 3d articulated character - forward kinematic method, In this progra...

In this programming assignment, you will animate and pose 3D articulated characters by implementing forward and inverse kinematic methods. You should be able to animate character j

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