Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include <GL/gl.h>
- #include <GL/glut.h>
- int rund(double x) { return ((int)(x*10))%10>5?(int)++x:(int)x; }
- void axes()
- {
- glColor3f (1.0, 0.0, 0.0);
- glBegin(GL_POINTS);
- for(int i=-1000;i<=1000;i++){
- glVertex2d(0,i);
- glVertex2d(i,0);
- }
- glEnd();
- glFlush();
- }
- void leftHandOutline(){
- glColor3f (1.0, 1.0, 1.0);
- int x=5;
- // upper part
- glBegin(GL_POLYGON);
- glVertex2d(-50,440+x);
- glVertex2d(-350-x,40);
- glVertex2d(-320+x,15);
- glVertex2d(-50,390-x);
- glEnd();
- // lower part
- glBegin(GL_POLYGON);
- glVertex2d(-350-x,0);
- glVertex2d(-250-x,-200);
- glVertex2d(-210+x,-200);
- glVertex2d(-320+x,15);
- glEnd();
- // middle part
- glBegin(GL_TRIANGLES);
- glVertex2d(-350-x,40);
- glVertex2d(-320+x,15);
- glVertex2d(-350-x,0);
- glEnd();
- glFlush();
- }
- void leftHand(){
- glColor3f (1.0, 0.0, 0.0);
- int x=350;
- // upper part
- glBegin(GL_POLYGON);
- glVertex2d(300-x,440);
- glVertex2d(0-x,40);
- glVertex2d(30-x,15);
- glVertex2d(300-x,390);
- glEnd();
- // lower part
- glBegin(GL_POLYGON);
- glVertex2d(0-x,0);
- glVertex2d(100-x,-200);
- glVertex2d(140-x,-200);
- glVertex2d(30-x,15);
- glEnd();
- // middle part
- glBegin(GL_TRIANGLES);
- glVertex2d(0-x,40);
- glVertex2d(30-x,15);
- glVertex2d(0-x,0);
- glEnd();
- glFlush();
- }
- void rightHandOutline(){
- glColor3f(1.0, 1.0, 1.0);
- int x=5;
- // upper part
- glBegin(GL_POLYGON);
- glVertex2d(0,440+x);
- glVertex2d(350+x,140);
- glVertex2d(320-x,140);
- glVertex2d(0,390-x);
- glEnd();
- // lower part
- glBegin(GL_POLYGON);
- glVertex2d(320-x,140+x);
- glVertex2d(355+x,140+x);
- glVertex2d(385+x,70);
- glVertex2d(350-x,70);
- glEnd();
- glFlush();
- }
- void rightHand(){
- glColor3f(1.0, 0.0, 0.0);
- // upper part
- glBegin(GL_POLYGON);
- glVertex2d(0,440);
- glVertex2d(350,140);
- glVertex2d(320,140);
- glVertex2d(0,390);
- glEnd();
- // lower part
- glBegin(GL_POLYGON);
- glVertex2d(320,140);
- glVertex2d(355,140);
- glVertex2d(385,70);
- glVertex2d(350,70);
- glEnd();
- glFlush();
- }
- void display(void)
- {
- glClear (GL_COLOR_BUFFER_BIT);
- // axes();
- leftHandOutline();
- leftHand();
- rightHandOutline();
- rightHand();
- }
- void init (void){
- glClearColor (0.0, 0.0, 0.0, 0.0);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluOrtho2D(-1000,1000,-1000,1000); //fix the windows size
- }
- int main(int argc, char** argv)
- {
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
- glutInitWindowSize (1000, 1000);
- glutInitWindowPosition (50, 50);
- glutCreateWindow ("172-15-9804");
- init ();
- glutDisplayFunc(display);
- glutMainLoop();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement