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

Exemplify bresenham line generation algorithm by digitizing, Example: Exem...

Example: Exemplify the Bresenham line generation algorithm through digitizing the line along with end points (20, 10) and (30, 18) Solution: m =    (y2 - y1)/( x2 - x1)  =

Cel animation - computer animation, Cel Animation - Computer Animation ...

Cel Animation - Computer Animation Making an animation by using this method, all characters are drawn on a separate piece of transparent paper. Also a background is drawn on a

Plane equation - curves and surfaces, Plane Equation - Curves and Surfaces ...

Plane Equation - Curves and Surfaces Plane is a polygonal surface that bisects its environment in two halves. One is termed to as forward and another as backward half of som

Character generation, Which is the most usable and frequent method to gener...

Which is the most usable and frequent method to generate a character?

Implement cohen sutherland and liang barsky algorithm, Implement Cohen Suth...

Implement Cohen Sutherland and Liang Barsky line clipping algorithms in C-language.  Test your code for line segments with end points falling in various regions.

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

Serial line db9 connector, Main Objectives of this connector is to allow fu...

Main Objectives of this connector is to allow full duplex communication between peripherals that uses such connector such PIC Demo board, ICD2 Debugger etc. The RS32 connector pin

Illustration of a clipping window - raster graphics, Illustration of a Clip...

Illustration of a Clipping window ABCD is placed as follows: A (100, 10), B (160, 10, C (160, 40), D (100, 40) By using Sutherland-Cohen clipping algorithm determine the vis

Boundary-fill algorithm or flood-fill algorithm , boundary-fill algorithm o...

boundary-fill algorithm or flood-fill algorithm As you saw the implementation of scan line polygon fill requires that boundaries should be straight line segments.  The seed fi

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