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

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

Ask questionkms eey frame syst #Minimum 100 words accepted#

What is the standard video workflow, QUESTION 1. You are a consultant i...

QUESTION 1. You are a consultant in the field of video production and video editing. You haven been requested to participate in a debate over analog and digital video. Write

Handling mouse input, When you set up your project, create the class as an ...

When you set up your project, create the class as an "ACM Graphics Program", rather than a plain class. This will perform the necessary preparations for you to use mouse input in y

Types of authoring tools in multimedia, Types of Authoring Tools Autho...

Types of Authoring Tools Authoring tools are grouped depends on metaphor used for sequencing or organizing multimedia components and events as: Page or Card Based Tools

Briefly describe the variants of the interaction model, Question: a) Th...

Question: a) The implications of transparency are a major influence on the design of system software. There are eight forms of transparency. Name and give a small description o

Open Gl, Write a program in C/C++ using OpenGL to create (without using bui...

Write a program in C/C++ using OpenGL to create (without using built in function) a square by implementing shear algorithm along 1. X-axis, 2.Y-axis.

Explain advantages of rendering polygons by scan line method, What are the ...

What are the advantages of rendering polygons by scan line method?  i. The max and min values of the scan were simply found.  ii. The intersection of scan lines with edges i

Objectives of viewing ttransformation, Objectives of Viewing transformation...

Objectives of Viewing transformation After going through this section, you should be capable to: - Explain the projection; - Classify different types of Perspective and

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

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

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