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

Transformation for parallel projection, Transformation for parallel project...

Transformation for parallel projection Parallel projections is also termed as Orthographic projection, are projections into one of the coordinate planes as x = 0, y = 0 or z

What is monitor, Q. What is Monitor? A Monitor is a television like bo...

Q. What is Monitor? A Monitor is a television like box connected to your computer and providing you a vision into the mind of your PC. It displays what your computer is thinki

Video controller, Video controller : A Fixed area of the system memory co...

Video controller : A Fixed area of the system memory controller for the frame buffer, and the video controller is given direct access to the frame – buffer memory, frame – buffer

Student, hi I need help with photoshop

hi I need help with photoshop

Basic transformations - 2-d and 3-d transformations, Basic Transformations ...

Basic Transformations - 2-d and 3-d Transformations Consider the xy-coordinate system upon a plane. An object or Obj in a plane can be identified as a set of points. All objec

Icon based or event driven tools, Icon Based or Event Driven Tools In s...

Icon Based or Event Driven Tools In such authoring systems, multimedia components and interaction cues or events are organized like objects in a structural process or framework

Video games, why do video game characters look better today?

why do video game characters look better today?

Physx, what is physx.?

what is physx.?

Panning and zooning, what is zooming and panning in computer graph please e...

what is zooming and panning in computer graph please explan??

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