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

Area subdivision method - visible surface detection, Area subdivision Metho...

Area subdivision Method - Visible Surface Detection What are the circumstances to be fulfilled, in Area-subdivision method, thus a surface not to be divided in addition? S

Seed fill algorithm - output primitives, Seed fill algorithm A seed fil...

Seed fill algorithm A seed fill algorithm starts with a known initial interior point of the polygon and spreads out to determine other interior points to fill the given closed

Describe and explain four features of firewire, QUESTION 1. Describe an...

QUESTION 1. Describe and explain four features of Firewire. 2. Explain clearly what is sampling rate and how does it influences the quality of video produced. 4. In Adobe

Frame, what is frame buffer

what is frame buffer

Key frame systems, Ask questionkms eey frame syst #Minimum 100 words accept...

Ask questionkms eey frame syst #Minimum 100 words accepted#

Dissimilarity between the printer and the plotter, Dissimilarity between th...

Dissimilarity between the Printer and the Plotter 1)  Plotters print their output through moving a pen across the surface of paper's piece. It implies that plotters are lim

Computer science, what do you means by bresenham s him algorithm

what do you means by bresenham s him algorithm

Functioning of hardcopy devices and output primitives, Functioning of hardc...

Functioning of hardcopy devices and Output primitives 1.  Functioning of hardcopy devices-laser printers and dot matrix printers, plotters.  2.  Output primitives: Graphics

Education and training systems multimedia in education, Education and train...

Education and training systems are making with three major objectives as: a) The learning objectives and purpose of the training. b)  Assessment or testing of the students to

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