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

Briefly explain the term density range, QUESTION a) Explain with the he...

QUESTION a) Explain with the help of a diagram, how a thermal inkjet printer works. b) Briefly explain the term density range. c) Distinguish between scaling and resampli

Write short notes on active and passive transformations, Write short notes ...

Write short notes on active and passive transformations?  In the active transformation the points x and x| show different coordinates of the similar coordinate system. Here all

Write a c-code that plots an object on the window, Write a C-code that plot...

Write a C-code that plots an object on the window and on the user's click of mouse on the window, the object starts rotating continuously until the user presses the mouse again.

Define pixel and frame buffer, Define pixel and frame buffer? Pixel is ...

Define pixel and frame buffer? Pixel is shortened forms of picture element. Every screen point is referred to as pixel or pel.  Picture definition is kept in a memory area c

Frame, what is frame buffer

what is frame buffer

Graphic primitives, Graphic Primitives In previous section, we have di...

Graphic Primitives In previous section, we have discussed refreshing display devices and its categories which are Raster and Random Scan display devices. We have also discusse

Midpoint circle algorithm for scan converting a circle, Explain Bresenham s...

Explain Bresenham s circle drawing algorithm,  OR   Explain midpoint circle algorithm for scan converting a circle. Midpoint Circle Algorithm   1. Input radius r and circle

Advantages of computer aided design, Advantages of Computer aided design  ...

Advantages of Computer aided design  -   It is simpler to modify drawings  -   A library of parts can be kept  -   Ability to do automatic costings -   Ability to mod

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

3D transformation, what are the steps involved in 3D transformation

what are the steps involved in 3D 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