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

Real time clock -rtc, Main objectives: To test to micro-controller I...

Main objectives: To test to micro-controller I2C protocol bus functionality Setting and displaying accurate time and date on the LCD GENERAL DESCRIPTION The D

Introduction to computer graphics, Introduction To Computer Graphics ...

Introduction To Computer Graphics Early man employed drawings to communicate even before he learnt to communicate, write or count. Incidentally, these earliest hierogly

Analog sound vs. digital sound, Analog Sound vs. Digital Sound Sound e...

Analog Sound vs. Digital Sound Sound engineers have been debating the respective merits of digital and analog sound reproduction ever if the form of digital sound recordings.

Reflection about a line - 2-d and 3-d transformations, Reflection about a L...

Reflection about a Line - 2-D and 3-D Transformations Reflection is a transformation that produces the mirror image of an object. Since we discussed that the mirror reflection

Introduction, how can we write the introduction matter for graphicaluser in...

how can we write the introduction matter for graphicaluser interface

Education and training, explain in detail the application of computer graph...

explain in detail the application of computer graphics in education and training?

Uncompressed and common audio format, Uncompressed / Common Audio Format ...

Uncompressed / Common Audio Format There is one main uncompressed audio format: PCM. It is generally stored like a .wav on Windows. WAV is file format which is flexible and des

What is the real value, QUESTION (a) People want to know design pattern...

QUESTION (a) People want to know design patterns. i) What should their attitude be about design patterns? ii) How can people use design patterns to do a better job?

Scan line polygon fill and seed fill or flood fill algorithm, 1.   Distingu...

1.   Distinguish among Scan line polygon fill and Seed fill or Flood fill algorithm? Scan Line Polygon Flood Fill Algorithms ?1. This

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