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

What is a spline, What is a spline?  To produce a smooth curve by a des...

What is a spline?  To produce a smooth curve by a designed set of points, a flexible strip called spline is used. Like spline curve can be mathematically explained with a piece

Cohen sutherland line clippings algorithm, Cohen Sutherland Line Clippings ...

Cohen Sutherland Line Clippings Algorithm The clipping problem is identified by dividing the region surrounding the window area into four segments Up as U, Down as D, Left as

What is the difference between kerning and tracking, QUESTION (a) What ...

QUESTION (a) What is the difference between kerning and tracking? (b) What is the advantage of creating colours in the Swatches panel instead of the Colour panel? (c) Wha

Panning and zooming a component, Panning and zooming Components (such as yo...

Panning and zooming Components (such as your Polybounce or Animation) is simply a matter of reFrameing the world window. To pan right or left horizontally, one shifts it in the pos

Horizontal retrace - hardware primitives, Horizontal Retrace - Hardware Pri...

Horizontal Retrace - Hardware Primitives Horizontal retrace refers to the time an electron beam takes to traverse a scan line.Vertical retrace means the time taken by the elect

Area-subdivision method-computer graphics, Normal 0 false fal...

Normal 0 false false false EN-US X-NONE X-NONE

Assumption for diffuse reflection - polygon rendering, Assumption for Diffu...

Assumption for Diffuse Reflection - Polygon Rendering  i) the diffuse reflections by the surface are scattered along with equal intensity in each direction, independent of vie

What is polygon mesh, What is Polygon mesh?  Polygon mesh is a method t...

What is Polygon mesh?  Polygon mesh is a method to show the polygon, when the object surfaces are tiled, it is more convenient to state the surface facets with a mesh function.

Progressive scan in image capture formats, Progressive Scan: Progressive o...

Progressive Scan: Progressive or non-interlaced scanning is a process which displays, transmits or stores moving images wherein, the lines of all frame are drawn in order. It is i

Interlaced gif, Interlaced GIF: The conventional which is non-interlaced G...

Interlaced GIF: The conventional which is non-interlaced GIF graphic downloads one line of pixels at one time from top to bottom and browsers display all lines of the image as it

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