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

Oblique projection, find the transformation and draw the cube for cavalier...

find the transformation and draw the cube for cavalier and cabinet with theta = 37 degree

Color histogram, A color histogram is a representation of the distribution ...

A color histogram is a representation of the distribution of colors in an image. For digital images, a color histogram represents the number of pixels that have colors in each of a

Functions available in animation packages, Functions Available in Animation...

Functions Available in Animation Packages Some broad functions available in animation packages are as: Object Function to manage and store the object database , where

Finding where the ball hits a segment, You will write a two-dimensional pre...

You will write a two-dimensional precursor of the three-dimensional bouncing ball simulation that is one of your choices for a ?nal project. This involves adding functions to your

Video controller, Video controller : A Fixed area of the system memory co...

Video controller : A Fixed area of the system memory controller for the frame buffer, and the video controller is given direct access to the frame – buffer memory, frame – buffer

Intensity of colours - raster graphics and clipping, Similarly we can contr...

Similarly we can control the intensity of colours We contain more bit planes for all colour say three bit planes for R, 3 for G and 3 for B here all bit plane of size mxn, hen

Determine about the liquid crystal display, Determine about the Liquid Crys...

Determine about the Liquid Crystal Display LCDs are organic molecules, naturally in crystalline state, and they get liquified when excited by heat or E field. Crystalline state

Introduction to computer graphics, Introduction To Computer Graphics ...

Introduction To Computer Graphics Early man employed drawings to communicate even before he learnt to communicate, write or count. Incidentally, these earliest hierogly

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