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

Applications for computer animation-physics, Normal 0 false f...

Normal 0 false false false EN-US X-NONE X-NONE

Raster scan display processor, Draw the block diagram of raster scan displa...

Draw the block diagram of raster scan display processor.

Matrix for orthographic projection, Matrix for Orthographic Projection ...

Matrix for Orthographic Projection Orthographic projections are projections into one of the coordinate planes x=0, y=0or z=0. The matrix for orthographic projection on the z=0

Algorithms for basic line segment plotting, Algorithms for Basic Line Segme...

Algorithms for Basic Line Segment Plotting There are two important algorithms for basic line segment plotting-DDA algorithm and Bresenham algorithm.  Both the algorithms use th

Characteristics of bitmap data, Characteristics of Bitmap Data: Bitmap dat...

Characteristics of Bitmap Data: Bitmap data can take up many rooms. A CMYK A-4 size picture which is optimized for medium quality printing (150 lpi) takes up 40 Mage Bytes. Compre

List out the merits and demerits of dvst, List out the merits and demerits ...

List out the merits and demerits of DVST?  The merits and demerits of direct view storage tubes [DVST] are as follows  It has a flat screen Refreshing of screen is

Homogeneous coordinates, What are the uses of homogeneous coordinates? Conv...

What are the uses of homogeneous coordinates? Convert translation rotation and scaling in homogeneous coordinates. In mathematics homogeneous coordinates introduced by August

Briefly explain the 12 stages in image processing, QUESTION (a) In Autom...

QUESTION (a) In Automatic Contrast Adjustment briefly explain how to stretch an image to its full intensity (b) Write down a mathematical function of a Modified Automatic Con

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