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

Bezier curves - modeling and rendering, Bezier Curves - Modeling and Render...

Bezier Curves - Modeling and Rendering Bezier curves are utilized in computer graphics to turn out curves which display reasonably smooth at all scales. Such spline approximat

Viewing transformation, Viewing Transformation In previous section, we...

Viewing Transformation In previous section, we have discussed about the geometric transformations as Translation, Shearing, Reflection, Scaling and Rotation. Rotation, Reflect

Geometric continuity - properties of bezier curves, Geometric continuity - ...

Geometric continuity - Properties of Bezier Curves Geometric continuity is the other process to join two successive curve sections. G 0 continuity is the similar as parametri

Classic applications of digital video, The table as given below demonstrate...

The table as given below demonstrates possible values of such parameters for classic applications of digital video. Application                  Frame rate                  Dime

Classification of animation process – cad and cam, Consequently some method...

Consequently some methods are utilized to handle this huge information and these methods are termed as animation process that are classified as: First Method: In this method,

Projections - viewing transformation, Projections - Viewing Transformation ...

Projections - Viewing Transformation Specified 3-D object in a space, Projection can be explained as a mapping of 3-D object into 2-D viewing screen. Now, 2-D screen is termed

BINARY, WHAT THAT S MEANS 0001

WHAT THAT S MEANS 0001

Languge, what languge do computers speak

what languge do computers speak

Pears son education, What is scan conversion explain the four adverse side ...

What is scan conversion explain the four adverse side effect of scan conversion

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