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

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

Authoring tools in multimedia, Authoring Tools Authoring tools genera...

Authoring Tools Authoring tools generally refers to computer software that assists multimedia developers produce products. Authoring tools are various from computer programmi

Vecgen, explain vecgen algoritham

explain vecgen algoritham

Project by matlab , I am trying to do a project by matlab. which is related...

I am trying to do a project by matlab. which is related to computer vision. the name of project is (texture synthesis and image quilting), which is inspire from this paper (Efros a

Scenes - polygon rendering and ray tracing methods, Scenes - polygon render...

Scenes - polygon rendering and ray tracing methods In the context of ray tracing, a scene is a set of objects and light sources which will be viewed through a camera. All of

Modify the dda algorithm for negative sloped lines, 1. Modify the DDA algo...

1. Modify the DDA algorithm for negative sloped lines; discuss both the cases i.e., slope > 1 and 0   Ans. For the generation of lines along with negative slopes as:

., Define the working procedure of CRT with diagram

Define the working procedure of CRT with diagram

Explain bresenham''s circle drawing algorithm, Question 1 Explain Bresenha...

Question 1 Explain Bresenham's Circle Drawing Algorithm Question 2 Derive the matrix for inverse transformation Question 3 Discuss the following Raster Graphic Algorithm

Gks, explain about gks

explain about gks

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