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

Implement the boundary fill and flood fill algorithm, 1. Implement the boun...

1. Implement the boundary fill algorithm and flood fill algorithm in C-language and use your code to fill two different types of closed areas such as  i)  A Circle ii)  A sel

Line clipping algorithm - cohen sutherland algorithm, Line Clipping Algorit...

Line Clipping Algorithm - Cohen Sutherland Algorithm Line is a series of endless number of points; here no two points contain space in among them. Hence, the above said inequa

Explain how you would create a particle playground effect, Question 1: ...

Question 1: (a) Briefly describe how Parenting could be used in Adobe After effects CS3. (b) Explain the term Vanishing Point and specify when it can be used. Propose how

Normalization transformation, Find the normalization transformation N, whic...

Find the normalization transformation N, which uses the rectangle W(1, 1); X(5, 3); Y(4, 5) and Z(0, 3) as a window and the normalized deice screen as viewpoint.

Advantages of scan line algorithm, Advantages of Scan line Algorithm:  ...

Advantages of Scan line Algorithm:   This time and always we are working along with one-dimensional array as: x[0...x_max] for color not a 2D-array like in Z-buffer algorithm.

Curve clipping and character clipping, Curve Clipping and Character Clippin...

Curve Clipping and Character Clipping As you proceed further, you would see that the methods for curve clipping and character clipping have also been developed based on boundin

Img- mac-msp file formats, IMG/MAC/MSP File Formats IMG files were orig...

IMG/MAC/MSP File Formats IMG files were originally implemented to work along with GEM paint program and can handle monochrome and grey level pictures only. MAC files are uti

Basics of animation - computer animation, Basics of Animation - Computer an...

Basics of Animation - Computer animation Historical and traditional methods for production of animation: As we have studied the transformations linked in computer graphics

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