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

Medicine-applications for computer animation, Medicine: this is very tough...

Medicine: this is very tough for a doctor to get inside a living human body and to observe what is occurrence. Computer animation once again comes in very helpful. Every particula

Definitions of hypermedia, Definitions of Hypermedia It is a term ...

Definitions of Hypermedia It is a term created through Ted Nelson in the year 1970. It utilized as a logical extension of the term hypertext, wherein graphics, video, audi

Tcp connection, what is the opengl code for tcp connection?

what is the opengl code for tcp connection?

Differentiate between lossy and lossless compression, Question: (a) Di...

Question: (a) Differentiate between lossy and lossless compression. (b) State the uses of the two compression standards MPEG-1 and MPEG-2. (c) State three areas where

Reflection, Determine the transformation matrix for the reflection, Compute...

Determine the transformation matrix for the reflection, Computer Graphics

Methods for drawing thick lines, Describe any two methods for drawing thick...

Describe any two methods for drawing thick lines. Two method for drawing thick lines are: (1) Using the line- width command: "setline width scale factor (iw)" Line width param

Ellipse generating algorithm, Ellipse generating algorithm: Algorithm ...

Ellipse generating algorithm: Algorithm is similar to circle algorithm. We divide the ellipse on the positive quadrant into two regions. Region 1 where the slope > -1, and Reg

Define refresh rate and refresh buffer, Refresh Rate: refreshing on raster...

Refresh Rate: refreshing on raster - scan displays is carried out at the rate of 60 to 80 frames per second, although some system are designed for higher refresh rates. Sometimes,

Illustration, mcqs of illustration in nts test

mcqs of illustration in nts test

Crt, crt is an analog or digital device

crt is an analog or digital device

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