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

Define the term -monitoring, Define the term -Monitoring Chemical and n...

Define the term -Monitoring Chemical and nuclear plants (monitoring key parameters), hospitals (monitoring patient's vital signs), burglar alarms (monitoring for intruders) etc

Important points for key frame systems - computer animation, Important poin...

Important points for Key Frame Systems - Computer Animation In key frame systems the "in-between" "tweening" or frames can be created from the specification of two or more key

Find out average unit normal vector at each polygon vertex, To find out ave...

To find out average unit normal vector at each polygon vertex At each polygon vertex as demonstrated by point V in the figure above, the normal vector is acquired by averaging

Digital signal processing system for an analog signal, QUESTION (a) Dra...

QUESTION (a) Draw and explain the block diagram of a Digital Signal Processing System for an analog signal. (b) Draw the pictorial representation of the signals at each leve

Limitations of cohen sutherland line clipping algorithm, Limitations of Coh...

Limitations of Cohen Sutherland line clipping Algorithm The algorithm is merely applicable to rectangular windows and not to the other convex shaped window. Consequently, a

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

Scan conversion of line with the slope, Scan Conversion of Line with the sl...

Scan Conversion of Line with the slope (0 Currently the pixel positions beside the line path are determined through sampling at Unit x intervals that is, starting from the fi

Traditional animation techniques - computer animation, Traditional Animatio...

Traditional Animation Techniques - Computer Animation Before the advent of computer animation, each animation was done via hand that involves an enormous amount of work. You

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