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

Classic applications of digital video, The table as given below demonstrate...

The table as given below demonstrates possible values of such parameters for classic applications of digital video. Application                  Frame rate                  Dime

Differences of forward kinematics and inverse kinematics, Question 1: (...

Question 1: (a) Provide a clear explanation of what is ‘rigging' and its use? (b) What are the basic differences of Forward Kinematics (FK) and Inverse Kinematics (IK)? Wh

Notes for specular reflection - polygon rendering, Notes for Specular refl...

Notes for Specular reflection (1) In addition to diffuse reflection, light sources produce highlights or bright spots termed as specular reflection. Such highlighting is extre

Discuss the overview of multimedia networks, Question 1 Discuss the overvi...

Question 1 Discuss the overview of multimedia networks Question 2 Discuss the types of synchronization in multimedia system >> Basic synchronization issues Content R

Z-buffer, describe z-buffer algorithm removing hidden surface

describe z-buffer algorithm removing hidden surface

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.

Define clipping, Define clipping and covering (exterior clipping)? Clip...

Define clipping and covering (exterior clipping)? Clipping is the process of cutting a graphics display to neatly fit a predefined graphics region or the view port.  This is

Clip a line segment - cyrus beck line clipping algorithm, How does the Cyru...

How does the Cyrus Beck line clipping algorithm, clip a line segment whether the window is non convex? Solution : see the following figure 13, now the window is non-convex in s

Terms, composite transformation

composite transformation

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