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

Which main components are needed for computer graphics, Can you tell which ...

Can you tell which main components (hardware and software) are needed for computer graphics? Besides the computer, some special devices and software may be needed especially fo

Algorithms for filled-area primitives, Algorithms for filled-area primitive...

Algorithms for filled-area primitives These algorithms are classified into two categories (i)  Scan line algorithms (ii) Seed fill algorithms.

Buffer areas required for z-buffer algorithm, Buffer Areas Required For Z-B...

Buffer Areas Required For Z-Buffer Algorithm For applying z-buffer algorithm, we need two buffer areas or two 2-Dimentional arrays: 1) Depth-buffer [i,j], to sa

Transformation for 3-d shearing, 2-dimensional xy-shearing transformation, ...

2-dimensional xy-shearing transformation, as explained in equation (19), can also be simply extended to 3-dimensional case. All coordinates are translated as a function of displace

Displacement mapping, Implement displacement mapping and bump mapping on a ...

Implement displacement mapping and bump mapping on a sphere. The displacement can be whatever your choice. The bump map can be whatever your choice as well.

What is the use of projection reference point, What is the use of Projectio...

What is the use of Projection reference point?  In Perspective projection, the object positions are transformed to the view plane with these converged projection line and the p

Img- mac-msp file formats, IMG/MAC/MSP File Formats IMG files were orig...

IMG/MAC/MSP File Formats IMG files were originally implemented to work along with GEM paint program and can handle monochrome and grey level pictures only. MAC files are uti

Important points for key frame systems - computer animation, Important poin...

Important points for Key Frame Systems - Computer Animation In key frame systems the "in-between" "tweening" or frames can be created from the specification of two or more key

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

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