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

Boundary-fill algorithm or flood-fill algorithm , boundary-fill algorithm o...

boundary-fill algorithm or flood-fill algorithm As you saw the implementation of scan line polygon fill requires that boundaries should be straight line segments.  The seed fi

Two point and three point perspective transformations, Two-Point and Three-...

Two-Point and Three-Point Perspective transformations The two-point perspective projection can be acquired by rotating about one of the principal axis only and projecting upon

Write a code to continuously rotate square about pivot point, Write a code ...

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

Animation and games - cad and cam, Animation and Games - CAD and CAM I...

Animation and Games - CAD and CAM In our childhood, we all have seen that the flip books of cricketers that came free with some soft drink and where some pictures of similar p

Shannon fano with the lempel ziv welsh algorithm, Question: (a) A stat...

Question: (a) A statistical encoding algorithm is being considered for the transmission of a large number of long text files over a public network. Part of the file content i

Objectives of curves and surfaces - modeling and rendering, Objectives of C...

Objectives of Curves and surfaces - modeling and rendering After going through the section, you should be capable to: Implement the methods utilized to represent a pol

Define the meaning of abbreviations of cmyk and rgb, QUESTION You are e...

QUESTION You are employed as a graphics designer in an advertising agency and recently completed a brochure artwork for a client. You need to send the file for printing before

Raster and random scan displays - hardware primitive, Raster and random sca...

Raster and random scan displays In Raster scan displays, whole screen is refreshed a number of times in a second to keep the picture visible on the screen. This is called refre

Rigid body or non-rigid body transformations, Rigid body or Non-Rigid body ...

Rigid body or Non-Rigid body Transformations 2D transformations can be classified as rigid body or non-rigid body transformations. Rigid body transformations keep the shape and

Distinguish between bitblt and pixblt, Distinguish between bitBlt and pixBl...

Distinguish between bitBlt and pixBlt?  Raster functions that manipulate rectangular pixel arrays are usually referred to as raster ops. Moving a block of pixels from one locat

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