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

Area subdivision method - visible surface detection, Area subdivision Metho...

Area subdivision Method - Visible Surface Detection What are the circumstances to be fulfilled, in Area-subdivision method, thus a surface not to be divided in addition? S

Graphics tablet - cad and cam, Graphics Tablet - CAD and CAM We need ...

Graphics Tablet - CAD and CAM We need to know what we mean via tablet in computer terminology, before going into details on the graphic tablet, since in the other disciplines

Rotation - 2-d and 3-d transformations, Rotation - 2-D and 3-D transformati...

Rotation - 2-D and 3-D transformations Within 2-D rotation, an object is rotated via an angle θ along w.r.t. the origin. This angle is assumed to be +ive for anticlockwise rot

Compute the height of the resized image, Question) Compute the following: ...

Question) Compute the following:  a) Size of 420 × 300 image at 240 pixels per inch.  b) Resolution (per square inch) of  3 ×  2 inch image that has  768×512 pixels.  c) H

Bezier curves - 2d shape primitives, Bezier curves: Theses are special...

Bezier curves: Theses are special polynomial curves expressed using Bernstein polynomials. Spline curves are simple extensions of Bézier curves composed of two or more polynom

Cohen sutherland algorithm - 2d clipping algorithms, Cohen Sutherland algor...

Cohen Sutherland algorithm Point clipping is very simple.  All you need to check is whether a point is inside the window extremes in x- and y-directions.  For line clipping sev

Projections - 3d primitive and composite transformations, Projections W...

Projections When all display devices are 2D, you need to devise methods that give a realistic view of a 3D scene onto 2D display. With more and more devices coming in the marke

Give three ways to display a panel, QUESTION (a) Give some ways you can...

QUESTION (a) Give some ways you can change the magnification of a document? (b) Give three ways to display a panel? (c) Identify the differences between Selection tool an

Ray tracing - polygon rendering and ray tracing methods, Ray Tracing - Poly...

Ray Tracing - Polygon Rendering and Ray Tracing Methods Basically Ray tracing is an exercise that is performed to attain the realism in a scene. In easy way Ray Tracing is a w

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