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

Devi, Explain the 3d transformations

Explain the 3d transformations

Types of formats of audio file formats, Types of Formats It is signific...

Types of Formats It is significant to distinguish among a file format and a codec. Although most audio file formats support merely one audio codec, a file format may assist mul

Please give me ans, Differences between digital differential analyzer and ...

Differences between digital differential analyzer and VECGEN line algorithm?

How does resolution of a system influence graphic display, 1. How does the...

1. How does the resolution of a system influence graphic display? Ans. In a high resolution system the adjacent pixels are so near spaced such approximated line-pixels lie extr

Common transformation for parallel projection-transformation, Derive the co...

Derive the common transformation for parallel projection into a specified view plane, here the direction of projection d=aI+bJ+cK is along the normal N=n1I+n2J+n3K along with the r

Graphics applications, The subsequent are also considered graphics applicat...

The subsequent are also considered graphics applications as: • Paint Programs: Permit you to create rough freehand drawings. The images are saved as bit maps and can simply be

Explain briefly ancillary operations, Problem: a. Explain briefly six A...

Problem: a. Explain briefly six Ancillary Operations? b. When do ancillary operations take place? c. (i) What is flexography? (ii) Provide examples of finished produ

What do you meant by the term typography, Question 1: (a) What do you m...

Question 1: (a) What do you meant by the term typography and what is its main purpose? (b) Differentiate between typeface and font using examples. (c) Design knows many diffe

What are the different types of parallel projections, What are the differen...

What are the different types of parallel projections?  The parallel projections are basically divided into two types, depending on the relation among the direction of projectio

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