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

What do you mean by scan conversion, What do you mean by scan conversion?  ...

What do you mean by scan conversion?  A main task of the display processor is digitizing a picture definition given in an application program into a set of pixel-intensity valu

Sequencing of animation design, Sequencing of Animation Design Previous...

Sequencing of Animation Design Previously we have discussed many things regarding the traditional and current trends of computer created animation although now it is time to pr

Subdivision of polygon - visible surface detection , Subdivision of polyg...

Subdivision of polygon Test to find out the visibility of a single surface are made through comparing surfaces that as polygons P along regarding a specified screen area A.

Steps involved in performing image based processing, QUESTION (a) Expla...

QUESTION (a) Explain the steps involved in performing Image based processing. (b) Propose a mask using a 3X3 matrix, which would help in discovering discontinuities, and hen

Bezier curves - modeling and rendering, Bezier Curves - Modeling and Render...

Bezier Curves - Modeling and Rendering Bezier curves are utilized in computer graphics to turn out curves which display reasonably smooth at all scales. Such spline approximat

Time delay and busy flag method, 1. Using a time Delay Method The delay...

1. Using a time Delay Method The delay required between issuing each character to the LCD is about 5-10ms (it's simply known as DELAY). When programming an LCD, a long delay is

Aspect ratio - display devices, Aspect ratio - Display Devices Ratio of...

Aspect ratio - Display Devices Ratio of vertical points to horizontal points necessary to produce equal length lines in both directions on the screen. For example, in a CRT mon

Basic structures for multimedia interactive applications, Question: (a)...

Question: (a) Sound often gives the only effective way to convey an idea, elicit an emotion, or dramatise a point. Explain two situations of the use of sound that would be con

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

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