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

Prepare an initial sorted edge list, Q: For the following polygon, prepare ...

Q: For the following polygon, prepare an initial sorted edge list and then make the active edge list for scan lines y = 5,20,30,35 Coordinates of the vertices are as shown in Figur

Perspective projections - transformation, Perspective Projections - Transfo...

Perspective Projections - Transformation In this projection the center of projection is at limited distance. This projection is termed as perspective projection since in this

Subdivision algorithm - visible surface detection, Subdivision Algorithm - ...

Subdivision Algorithm - Visible Surface Detection 1) Initialize the area to be the whole screen. 2) Create a PVPL regarding an area, sorted on z min as the smallest z coor

What is automatic data capture, Automatic Data Capture There are numero...

Automatic Data Capture There are numerous techniques available to collect data automatically without the need for manual entry. Manual entry is slower, more costly (need to emp

Write short notes on rendering bi-cubic surface, Write short notes on rende...

Write short notes on rendering bi-cubic surface patches of constant u and v method?  The simple way is to draw the iso-parmetric lines of the surface. Discrete approximations t

Differentiate between z-buffer method and scan-line method, Differentiate b...

Differentiate between z-buffer method and scan-line method. What is the visibility test made in these methods? Solution : In depth buffer algorithm every pixel location on the

Difference of gaussians, Difference of Gaussians In this project we wi...

Difference of Gaussians In this project we will implement the difference of Gaussians (DoG) edge detector and learn its characteristics. Part A: Design and implement a proc

Output primitives and geometric transformations, Output Primitives and Geom...

Output Primitives and Geometric Transformations You learnt how some basic geometric objects such as line segments, circles, ellipses and other curves are processed for plotting

Photoshop, What is the best selection method in photoshop

What is the best selection method in photoshop

Differences, difference between vecgen and breshnam algorithm

difference between vecgen and breshnam algorithm

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