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

Define octrees, Define Octrees?  Hierarchical tree structures called oc...

Define Octrees?  Hierarchical tree structures called octrees, are used to show solid objects in some graphics systems. Medical imaging and other applications that needs display

Describe fully the term preflight, Question: Adobe InDesign software ...

Question: Adobe InDesign software is used to create works such as posters, flyers, brochures, magazines and books. Designers and graphics production artists are the principa

2-d and 3-d transformations, 2-D and 3-D Transformations Previously, w...

2-D and 3-D Transformations Previously, we have presented approaches for the generation of polygonal regions and lines. We identified that once the objects are produced, the v

What is graphics, What is Graphics It is a term that refers to any com...

What is Graphics It is a term that refers to any computer device or program which makes a computer able of displaying and manipulating pictures. The name also refers to the im

Explain what you understand by corporate style guide, Question 1: (a) ...

Question 1: (a) Explain the term ‘logo' with the use of an example. (b) Explain in detail what three basic questions you need to ask yourself before creating a logo. (c) You

Plasma panel - raster graphics and clipping, Plasma Panel - Raster Graphics...

Plasma Panel - Raster Graphics and Clipping This is an inherent memory device. Images can be written into the surface point by point and they keep stable, without flicked for

What is the real value, QUESTION (a) People want to know design pattern...

QUESTION (a) People want to know design patterns. i) What should their attitude be about design patterns? ii) How can people use design patterns to do a better job?

Explain the merits and demerits of plasma panel display, Explain the merits...

Explain the merits and demerits of Plasma panel display. Advantages: Refreshing is not needed. Produce a very steady image free of Flicker. Less bulky than a CRT.

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