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

Transformation for 3-d scaling, Transformation for 3-D Scaling As we a...

Transformation for 3-D Scaling As we already seen that the scaling process is mainly utilized to change the size of an object. The scale factors find out whether the scaling i

3-d transformation, 3-D Transformation The capability to represent or ...

3-D Transformation The capability to represent or display a three-dimensional object is basically to the knowing of the shape of that object. Moreover, the capability to rotat

Dda program to plot line segments, Use DDA algorithm to get the output of y...

Use DDA algorithm to get the output of your program as shown in Figure ANs: Use DDA( ) function to plot line segments that have end points on diametrically opposite points

Interrupts - event driven devices, Interrupts - Event driven devices ...

Interrupts - Event driven devices Interrupts: An option to polling is the interrupt feature. The device sends an interrupt signal to the processor while an event happens. T

Physx, what is physx.?

what is physx.?

High level techniques - motion specification, High Level Techniques (Motion...

High Level Techniques (Motion Generalized) These are techniques utilized to explain the general motion behavior of any type of graphic object. Such techniques are algorithms o

Normalization transformation, what is normalization transformation?why is i...

what is normalization transformation?why is it needed and important?give simple example also.

What is a dot size, What is a dot size? Dot size may be explained as th...

What is a dot size? Dot size may be explained as the diameter of a single dot on the devices output. Dot size is also known as the Spot size.

Hardware for computer animation, Hardware For Computer Animation It co...

Hardware For Computer Animation It comes in many shapes, sizes and abilities. Much hardware is specialized to do only specific tasks. Other types of hardware do a variety of t

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