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

What is orthographic oblique projection, What is orthographic oblique proje...

What is orthographic oblique projection?  When the direction of the projection is not normal (not perpendicular) to the view plane then the projection is called as oblique proj

Lamberts cosine law - diffuse reflection, Lamberts Cosine Law - Diffuse Ref...

Lamberts Cosine Law - Diffuse Reflection "LAMBERTS COSINE LAW" specify that the radiant energy from any minute surface area dA in any direction θ relative to the surface usual

Designing human Computer interface, I have an assignment to do & it''s due ...

I have an assignment to do & it''s due on Wednesday !

Interactive computer animation, Interactive Computer Animation Interac...

Interactive Computer Animation Interactive Computer Animation that is interactively utilized by users for example: games. Sprite animation is interactive and utilized broadly

Gourand shading or intensity interpolation scheme, Gourand shading OR Inten...

Gourand shading OR Intensity interpolation scheme Now there polygon is rendered through linearly interpolating intensity values across the surface. Intensity values for all po

Region filling, what is region filling? give details

what is region filling? give details

Identify what the use of homogenous co-ordinates, 1. Why are homogeneous co...

1. Why are homogeneous co-ordinates utilized in computer vision? I want to identify what the use of homogenous co-ordinates makes possible in terms of camera models. 2. Consider

What is computer-aided design, What is CAD Drawings created with Comput...

What is CAD Drawings created with Computer-Aided Design (CAD) tools, which were introduced in  the 1960s, represented tremendous productivity gains over paper drawings, such as

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