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

Steps for clip a line segment-pq, Steps for clip a line segment-PQ ...

Steps for clip a line segment-PQ Initially, find all the points of intersections of the line segment PQ along with the edges of the polygonal window and describe them eith

Three dimensional display methods - 2d clipping algorithms, Three dimension...

Three dimensional display methods: Among the simplest three dimensional surface representations are the polygonal surfaces.  A polygonal surface is described by vertices

Disadvantages of analogue signal over digital signal, Problem: (a) Lis...

Problem: (a) List four components of ‘Multimedia'. (b) Write short notes on the following: (i) itunes (ii) ipods (c) Some Multimedia development teams can have an

Mathematical description of oblique projection onto xy-plane, Mathematical ...

Mathematical description of an Oblique projection onto xy-plane  In order to expand the transformation for the oblique projection, identify the Figure. This figure explains a

web design and editing, Web Design and Editing To edit and make a webs...

Web Design and Editing To edit and make a website, the big three softwares are use: 1)   DreamWeaver (MacroMedia) 2)   Frontpage (MicroSoft) 3)   Go Live (Adobe) 4)

What are the advantages of electrostatic plotters, What are the advantages ...

What are the advantages of electrostatic plotters?  They are faster than pen plotters and very high quality printers. Recent electrostatic plotters contain a scan-conv

Explain the merits and demerits of penetration techniques, Explain the meri...

Explain the merits and demerits of Penetration techniques. The merits and demerits of the Penetration techniques are as follows:     It is an inexpensive method.     It h

Categories of reflection - ray tracing methods , Categories of Reflection -...

Categories of Reflection - Ray Tracing Methods In order to achieve realism, such phenomenon of reflection, which occurs because of interaction of light and surface, is require

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