mhdew

bicycle

Nov 22nd, 2020
538
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <GL/gl.h>
  3. #include <GL/glut.h>
  4. #include <math.h>
  5.  
  6. void display(void)
  7. {
  8.     glClear (GL_COLOR_BUFFER_BIT);
  9.  
  10.     // left wheel outer circle 1
  11.     glColor3f (1.0, 1.0, 1.0);
  12.     int x0=0, y0=200, p0=1-y0;
  13.     int xc=-400, yc=0;
  14.     // xc=0;
  15.     // yc=0;
  16.     int ax0[1111], ay0[1111];
  17.     int ax[111], ay[111];
  18.     int idx=0;
  19.     int idx0=0;
  20.     ax0[idx0]=x0;
  21.     ay0[idx0++]=y0;
  22.     while(1){
  23.         if(p0<0){
  24.             x0++; p0=p0+(2*x0)+1;
  25.         }
  26.         else{
  27.             x0++; y0--; p0=p0+(2*x0)+1-2*y0;
  28.         }
  29.         // ax0[idx0]=x0+xc; ay0[idx0++]=y0+yc;
  30.         ax0[idx0]=x0; ay0[idx0++]=y0;
  31.         if(x0>=y0) break;
  32.     }
  33.  
  34.     glBegin(GL_POLYGON);
  35.     int tx0,ty0;
  36.     for(int i=0;i<idx0;i++){
  37.         tx0=ax0[i]*(-1); ty0=ay0[i]*(-1);
  38.         glVertex2d(ax0[i]+xc,ay0[i]+yc);
  39.         glVertex2d(tx0+xc,ay0[i]+yc);
  40.         glVertex2d(ax0[i]+xc,ty0+yc);
  41.         glVertex2d(tx0+xc,ty0+yc);
  42.         glVertex2d(ay0[i]+xc,ax0[i]+yc);
  43.         glVertex2d(ty0+xc,ax0[i]+yc);
  44.         glVertex2d(ay0[i]+xc,tx0+yc);
  45.         glVertex2d(ty0+xc,tx0+yc);
  46.  
  47.         if(i==0 || i==47 || i==93){
  48.             ax[idx]=ax0[i]+xc;
  49.             ay[idx++]=ay0[i]+yc;
  50.             ax[idx]=tx0+xc;
  51.             ay[idx++]=ay0[i]+yc;
  52.             ax[idx]=ax0[i]+xc;
  53.             ay[idx++]=ty0+yc;
  54.             ax[idx]=tx0+xc;
  55.             ay[idx++]=ty0+yc;
  56.            
  57.             ax[idx]=ay0[i]+xc;
  58.             ay[idx++]=ax0[i]+yc;
  59.             ax[idx]=ty0+xc;
  60.             ay[idx++]=ax0[i]+yc;
  61.             ax[idx]=ay0[i]+xc;
  62.             ay[idx++]=tx0+yc;
  63.             ax[idx]=ty0+xc;
  64.             ay[idx++]=tx0+yc;
  65.         }
  66.     }
  67.     glEnd();
  68.  
  69.     // left wheel outer circle 2
  70.     glColor3f (0.66, 0.66, 0.66);
  71.     x0=0, y0=180, p0=1-y0;
  72.     xc=-400, yc=0;
  73.     // xc=0;
  74.     // yc=0;
  75.     ax0[1111], ay0[1111];
  76.     idx0=0;
  77.     ax0[idx0]=x0;
  78.     ay0[idx0++]=y0;
  79.     while(1){
  80.         if(p0<0){
  81.             x0++; p0=p0+(2*x0)+1;
  82.         }
  83.         else{
  84.             x0++; y0--; p0=p0+(2*x0)+1-2*y0;
  85.         }
  86.         // ax0[idx0]=x0+xc; ay0[idx0++]=y0+yc;
  87.         ax0[idx0]=x0; ay0[idx0++]=y0;
  88.         if(x0>=y0) break;
  89.     }
  90.  
  91.     glBegin(GL_POLYGON);
  92.     for(int i=0;i<idx0;i++){
  93.         tx0=ax0[i]*(-1); ty0=ay0[i]*(-1);
  94.         glVertex2d(ax0[i]+xc,ay0[i]+yc);
  95.         glVertex2d(tx0+xc,ay0[i]+yc);
  96.         glVertex2d(ax0[i]+xc,ty0+yc);
  97.         glVertex2d(tx0+xc,ty0+yc);
  98.         glVertex2d(ay0[i]+xc,ax0[i]+yc);
  99.         glVertex2d(ty0+xc,ax0[i]+yc);
  100.         glVertex2d(ay0[i]+xc,tx0+yc);
  101.         glVertex2d(ty0+xc,tx0+yc);
  102.     }
  103.     glEnd();
  104.  
  105.     // left wheel outer circle 3
  106.     glColor3f (0.0, 0.0, 0.0);
  107.     x0=0, y0=170, p0=1-y0;
  108.     xc=-400, yc=0;
  109.     // xc=0;
  110.     // yc=0;
  111.     ax0[1111], ay0[1111];
  112.     idx0=0;
  113.     ax0[idx0]=x0;
  114.     ay0[idx0++]=y0;
  115.     while(1){
  116.         if(p0<0){
  117.             x0++; p0=p0+(2*x0)+1;
  118.         }
  119.         else{
  120.             x0++; y0--; p0=p0+(2*x0)+1-2*y0;
  121.         }
  122.         // ax0[idx0]=x0+xc; ay0[idx0++]=y0+yc;
  123.         ax0[idx0]=x0; ay0[idx0++]=y0;
  124.         if(x0>=y0) break;
  125.     }
  126.  
  127.     glBegin(GL_POLYGON);
  128.     for(int i=0;i<idx0;i++){
  129.         tx0=ax0[i]*(-1); ty0=ay0[i]*(-1);
  130.         glVertex2d(ax0[i]+xc,ay0[i]+yc);
  131.         glVertex2d(tx0+xc,ay0[i]+yc);
  132.         glVertex2d(ax0[i]+xc,ty0+yc);
  133.         glVertex2d(tx0+xc,ty0+yc);
  134.         glVertex2d(ay0[i]+xc,ax0[i]+yc);
  135.         glVertex2d(ty0+xc,ax0[i]+yc);
  136.         glVertex2d(ay0[i]+xc,tx0+yc);
  137.         glVertex2d(ty0+xc,tx0+yc);
  138.     }
  139.     glEnd();
  140.  
  141.     // left wheel center circle
  142.     glColor3f (0.66, 0.66, 0.66);
  143.     x0=0, y0=35, p0=1-y0;
  144.     xc=-400, yc=0;
  145.     // xc=0;
  146.     // yc=0;
  147.     ax0[1111], ay0[1111];
  148.     idx0=0;
  149.     ax0[idx0]=x0;
  150.     ay0[idx0++]=y0;
  151.     while(1){
  152.         if(p0<0){
  153.             x0++; p0=p0+(2*x0)+1;
  154.         }
  155.         else{
  156.             x0++; y0--; p0=p0+(2*x0)+1-2*y0;
  157.         }
  158.         // ax0[idx0]=x0+xc; ay0[idx0++]=y0+yc;
  159.         ax0[idx0]=x0; ay0[idx0++]=y0;
  160.         if(x0>=y0) break;
  161.     }
  162.  
  163.     glBegin(GL_POLYGON);
  164.     for(int i=0;i<idx0;i++){
  165.         tx0=ax0[i]*(-1); ty0=ay0[i]*(-1);
  166.         glVertex2d(ax0[i]+xc,ay0[i]+yc);
  167.         glVertex2d(tx0+xc,ay0[i]+yc);
  168.         glVertex2d(ax0[i]+xc,ty0+yc);
  169.         glVertex2d(tx0+xc,ty0+yc);
  170.         glVertex2d(ay0[i]+xc,ax0[i]+yc);
  171.         glVertex2d(ty0+xc,ax0[i]+yc);
  172.         glVertex2d(ay0[i]+xc,tx0+yc);
  173.         glVertex2d(ty0+xc,tx0+yc);
  174.     }
  175.     glEnd();
  176.  
  177.     // right wheel outer circle 1
  178.     glColor3f (1.0, 1.0, 1.0);
  179.     x0=0, y0=200, p0=1-y0;
  180.     xc=400, yc=0;
  181.     // xc=0;
  182.     // yc=0;
  183.     ax0[1111], ay0[1111];
  184.     idx0=0;
  185.     ax0[idx0]=x0;
  186.     ay0[idx0++]=y0;
  187.     while(1){
  188.         if(p0<0){
  189.             x0++; p0=p0+(2*x0)+1;
  190.         }
  191.         else{
  192.             x0++; y0--; p0=p0+(2*x0)+1-2*y0;
  193.         }
  194.         // ax0[idx0]=x0+xc; ay0[idx0++]=y0+yc;
  195.         ax0[idx0]=x0; ay0[idx0++]=y0;
  196.         if(x0>=y0) break;
  197.     }
  198.  
  199.     glBegin(GL_POLYGON);
  200.     for(int i=0;i<idx0;i++){
  201.         tx0=ax0[i]*(-1); ty0=ay0[i]*(-1);
  202.         glVertex2d(ax0[i]+xc,ay0[i]+yc);
  203.         glVertex2d(tx0+xc,ay0[i]+yc);
  204.         glVertex2d(ax0[i]+xc,ty0+yc);
  205.         glVertex2d(tx0+xc,ty0+yc);
  206.         glVertex2d(ay0[i]+xc,ax0[i]+yc);
  207.         glVertex2d(ty0+xc,ax0[i]+yc);
  208.         glVertex2d(ay0[i]+xc,tx0+yc);
  209.         glVertex2d(ty0+xc,tx0+yc);
  210.     }
  211.     glEnd();
  212.  
  213.     // right wheel outer circle 2
  214.     glColor3f (0.66, 0.66, 0.66);
  215.     x0=0, y0=180, p0=1-y0;
  216.     xc=400, yc=0;
  217.     // xc=0;
  218.     // yc=0;
  219.     ax0[1111], ay0[1111];
  220.     idx0=0;
  221.     ax0[idx0]=x0;
  222.     ay0[idx0++]=y0;
  223.     while(1){
  224.         if(p0<0){
  225.             x0++; p0=p0+(2*x0)+1;
  226.         }
  227.         else{
  228.             x0++; y0--; p0=p0+(2*x0)+1-2*y0;
  229.         }
  230.         // ax0[idx0]=x0+xc; ay0[idx0++]=y0+yc;
  231.         ax0[idx0]=x0; ay0[idx0++]=y0;
  232.         if(x0>=y0) break;
  233.     }
  234.  
  235.     glBegin(GL_POLYGON);
  236.     for(int i=0;i<idx0;i++){
  237.         tx0=ax0[i]*(-1); ty0=ay0[i]*(-1);
  238.         glVertex2d(ax0[i]+xc,ay0[i]+yc);
  239.         glVertex2d(tx0+xc,ay0[i]+yc);
  240.         glVertex2d(ax0[i]+xc,ty0+yc);
  241.         glVertex2d(tx0+xc,ty0+yc);
  242.         glVertex2d(ay0[i]+xc,ax0[i]+yc);
  243.         glVertex2d(ty0+xc,ax0[i]+yc);
  244.         glVertex2d(ay0[i]+xc,tx0+yc);
  245.         glVertex2d(ty0+xc,tx0+yc);
  246.     }
  247.     glEnd();
  248.  
  249.     // right wheel outer circle 3
  250.     glColor3f (0.0, 0.0, 0.0);
  251.     x0=0, y0=170, p0=1-y0;
  252.     xc=400, yc=0;
  253.     // xc=0;
  254.     // yc=0;
  255.     ax0[1111], ay0[1111];
  256.     idx0=0;
  257.     ax0[idx0]=x0;
  258.     ay0[idx0++]=y0;
  259.     while(1){
  260.         if(p0<0){
  261.             x0++; p0=p0+(2*x0)+1;
  262.         }
  263.         else{
  264.             x0++; y0--; p0=p0+(2*x0)+1-2*y0;
  265.         }
  266.         // ax0[idx0]=x0+xc; ay0[idx0++]=y0+yc;
  267.         ax0[idx0]=x0; ay0[idx0++]=y0;
  268.         if(x0>=y0) break;
  269.     }
  270.  
  271.     glBegin(GL_POLYGON);
  272.     for(int i=0;i<idx0;i++){
  273.         tx0=ax0[i]*(-1); ty0=ay0[i]*(-1);
  274.         glVertex2d(ax0[i]+xc,ay0[i]+yc);
  275.         glVertex2d(tx0+xc,ay0[i]+yc);
  276.         glVertex2d(ax0[i]+xc,ty0+yc);
  277.         glVertex2d(tx0+xc,ty0+yc);
  278.         glVertex2d(ay0[i]+xc,ax0[i]+yc);
  279.         glVertex2d(ty0+xc,ax0[i]+yc);
  280.         glVertex2d(ay0[i]+xc,tx0+yc);
  281.         glVertex2d(ty0+xc,tx0+yc);
  282.     }
  283.     glEnd();
  284.  
  285.     // right wheel center circle
  286.     glColor3f (0.66, 0.66, 0.66);
  287.     x0=0, y0=35, p0=1-y0;
  288.     xc=400, yc=0;
  289.     // xc=0;
  290.     // yc=0;
  291.     ax0[1111], ay0[1111];
  292.     idx0=0;
  293.     ax0[idx0]=x0;
  294.     ay0[idx0++]=y0;
  295.     while(1){
  296.         if(p0<0){
  297.             x0++; p0=p0+(2*x0)+1;
  298.         }
  299.         else{
  300.             x0++; y0--; p0=p0+(2*x0)+1-2*y0;
  301.         }
  302.         // ax0[idx0]=x0+xc; ay0[idx0++]=y0+yc;
  303.         ax0[idx0]=x0; ay0[idx0++]=y0;
  304.         if(x0>=y0) break;
  305.     }
  306.  
  307.     glBegin(GL_POLYGON);
  308.     for(int i=0;i<idx0;i++){
  309.         tx0=ax0[i]*(-1); ty0=ay0[i]*(-1);
  310.         glVertex2d(ax0[i]+xc,ay0[i]+yc);
  311.         glVertex2d(tx0+xc,ay0[i]+yc);
  312.         glVertex2d(ax0[i]+xc,ty0+yc);
  313.         glVertex2d(tx0+xc,ty0+yc);
  314.         glVertex2d(ay0[i]+xc,ax0[i]+yc);
  315.         glVertex2d(ty0+xc,ax0[i]+yc);
  316.         glVertex2d(ay0[i]+xc,tx0+yc);
  317.         glVertex2d(ty0+xc,tx0+yc);
  318.     }
  319.     glEnd();
  320.  
  321.     // left line
  322.     glColor3f (1.0, 0.0, 0.0);
  323.     glBegin(GL_POLYGON);
  324.     glVertex2d(-408,0);
  325.     glVertex2d(-128,300);
  326.     glVertex2d(-143,300);
  327.     glVertex2d(-393,0);
  328.     glEnd();
  329.  
  330.     // mid left line
  331.     glColor3f (1.0, 0.0, 0.0);
  332.     glBegin(GL_POLYGON);
  333.     glVertex2d(-8,0);
  334.     glVertex2d(7,0);
  335.     glVertex2d(-128,300);
  336.     glVertex2d(-143,300);
  337.     glEnd();
  338.  
  339.     // mid right line
  340.     glColor3f (1.0, 0.0, 0.0);
  341.     glBegin(GL_POLYGON);
  342.     glVertex2d(-8,0);
  343.     glVertex2d(7,0);
  344.     glVertex2d(335,300);
  345.     glVertex2d(320,300);
  346.     glEnd();
  347.  
  348.     // right line
  349.     glColor3f (1.0, 0.0, 0.0);
  350.     glBegin(GL_POLYGON);
  351.     glVertex2d(395,0);
  352.     glVertex2d(405,0);
  353.     glVertex2d(333,300);
  354.     glVertex2d(323,300);
  355.     glEnd();
  356.  
  357.     // upper line
  358.     glColor3f (1.0, 0.0, 0.0);
  359.     glBegin(GL_POLYGON);
  360.     glVertex2d(-140,305);
  361.     glVertex2d(-140,295);
  362.     glVertex2d(333,295);
  363.     glVertex2d(333,305);
  364.     glEnd();
  365.  
  366.     // lower line
  367.     glColor3f (1.0, 0.0, 0.0);
  368.     glBegin(GL_POLYGON);
  369.     glVertex2d(0,5);
  370.     glVertex2d(0,-5);
  371.     glVertex2d(400,-5);
  372.     glVertex2d(400,5);
  373.     glEnd();
  374.  
  375.     // left upper line
  376.     glColor3f (1.0, 1.0, 1.0);
  377.     glBegin(GL_POLYGON);
  378.     glVertex2d(-140,300);
  379.     glVertex2d(-130,300);
  380.     glVertex2d(-115,350);
  381.     glVertex2d(-125,350);
  382.     glEnd();
  383.  
  384.     // right upper line
  385.     glColor3f (1.0, 1.0, 1.0);
  386.     glBegin(GL_POLYGON);
  387.     glVertex2d(323,300);
  388.     glVertex2d(333,300);
  389.     glVertex2d(345,350);
  390.     glVertex2d(338,350);
  391.     glEnd();
  392.  
  393.     // left top line
  394.     glColor3f (1.0, 1.0, 1.0);
  395.     glBegin(GL_POLYGON);
  396.     glVertex2d(-90,350);
  397.     glVertex2d(-150,350);
  398.     glVertex2d(-150,360);
  399.     glVertex2d(-90,360);
  400.     glEnd();
  401.     glBegin(GL_POLYGON);
  402.     glVertex2d(-150,360);
  403.     glVertex2d(-150,350);
  404.     glVertex2d(-105,375);
  405.     glVertex2d(-120,375);
  406.     glEnd();
  407.  
  408.     // right top line
  409.     glColor3f (1.0, 1.0, 1.0);
  410.     glBegin(GL_POLYGON);
  411.     glVertex2d(375,350);
  412.     glVertex2d(308,350);
  413.     glVertex2d(308,360);
  414.     glVertex2d(375,360);
  415.     glEnd();
  416.  
  417.     // upper padel verti line
  418.     glColor3f (1.0, 1.0, 1.0);
  419.     glBegin(GL_POLYGON);
  420.     glVertex2d(-5,0);
  421.     glVertex2d(5,0);
  422.     glVertex2d(5,75);
  423.     glVertex2d(-5,75);
  424.     glEnd();
  425.  
  426.     // upper padel horiz line
  427.     glColor3f (1.0, 1.0, 1.0);
  428.     glBegin(GL_POLYGON);
  429.     glVertex2d(-12,75);
  430.     glVertex2d(12,75);
  431.     glVertex2d(12,85);
  432.     glVertex2d(-12,85);
  433.     glEnd();
  434.  
  435.  
  436.     // center wheel outer circle 1
  437.     glColor3f (0.66, 0.66, 0.66);
  438.     x0=0, y0=55, p0=1-y0;
  439.     xc=0, yc=0;
  440.     // xc=0;
  441.     // yc=0;
  442.     ax0[1111], ay0[1111];
  443.     idx0=0;
  444.     ax0[idx0]=x0;
  445.     ay0[idx0++]=y0;
  446.     while(1){
  447.         if(p0<0){
  448.             x0++; p0=p0+(2*x0)+1;
  449.         }
  450.         else{
  451.             x0++; y0--; p0=p0+(2*x0)+1-2*y0;
  452.         }
  453.         // ax0[idx0]=x0+xc; ay0[idx0++]=y0+yc;
  454.         ax0[idx0]=x0; ay0[idx0++]=y0;
  455.         if(x0>=y0) break;
  456.     }
  457.  
  458.     glBegin(GL_POLYGON);
  459.     for(int i=0;i<idx0;i++){
  460.         tx0=ax0[i]*(-1); ty0=ay0[i]*(-1);
  461.         glVertex2d(ax0[i]+xc,ay0[i]+yc);
  462.         glVertex2d(tx0+xc,ay0[i]+yc);
  463.         glVertex2d(ax0[i]+xc,ty0+yc);
  464.         glVertex2d(tx0+xc,ty0+yc);
  465.         glVertex2d(ay0[i]+xc,ax0[i]+yc);
  466.         glVertex2d(ty0+xc,ax0[i]+yc);
  467.         glVertex2d(ay0[i]+xc,tx0+yc);
  468.         glVertex2d(ty0+xc,tx0+yc);
  469.     }
  470.     glEnd();
  471.  
  472.     // center wheel outer circle 2
  473.     glColor3f (0.0, 0.0, 0.0);
  474.     x0=0, y0=45, p0=1-y0;
  475.     xc=0, yc=0;
  476.     // xc=0;
  477.     // yc=0;
  478.     ax0[1111], ay0[1111];
  479.     idx0=0;
  480.     ax0[idx0]=x0;
  481.     ay0[idx0++]=y0;
  482.     while(1){
  483.         if(p0<0){
  484.             x0++; p0=p0+(2*x0)+1;
  485.         }
  486.         else{
  487.             x0++; y0--; p0=p0+(2*x0)+1-2*y0;
  488.         }
  489.         // ax0[idx0]=x0+xc; ay0[idx0++]=y0+yc;
  490.         ax0[idx0]=x0; ay0[idx0++]=y0;
  491.         if(x0>=y0) break;
  492.     }
  493.  
  494.     glBegin(GL_POLYGON);
  495.     for(int i=0;i<idx0;i++){
  496.         tx0=ax0[i]*(-1); ty0=ay0[i]*(-1);
  497.         glVertex2d(ax0[i]+xc,ay0[i]+yc);
  498.         glVertex2d(tx0+xc,ay0[i]+yc);
  499.         glVertex2d(ax0[i]+xc,ty0+yc);
  500.         glVertex2d(tx0+xc,ty0+yc);
  501.         glVertex2d(ay0[i]+xc,ax0[i]+yc);
  502.         glVertex2d(ty0+xc,ax0[i]+yc);
  503.         glVertex2d(ay0[i]+xc,tx0+yc);
  504.         glVertex2d(ty0+xc,tx0+yc);
  505.     }
  506.     glEnd();
  507.  
  508.     // center wheel center circle
  509.     glColor3f (0.66, 0.66, 0.66);
  510.     x0=0, y0=30, p0=1-y0;
  511.     xc=0, yc=0;
  512.     // xc=0;
  513.     // yc=0;
  514.     ax0[1111], ay0[1111];
  515.     idx0=0;
  516.     ax0[idx0]=x0;
  517.     ay0[idx0++]=y0;
  518.     while(1){
  519.         if(p0<0){
  520.             x0++; p0=p0+(2*x0)+1;
  521.         }
  522.         else{
  523.             x0++; y0--; p0=p0+(2*x0)+1-2*y0;
  524.         }
  525.         // ax0[idx0]=x0+xc; ay0[idx0++]=y0+yc;
  526.         ax0[idx0]=x0; ay0[idx0++]=y0;
  527.         if(x0>=y0) break;
  528.     }
  529.  
  530.     glBegin(GL_POLYGON);
  531.     for(int i=0;i<idx0;i++){
  532.         tx0=ax0[i]*(-1); ty0=ay0[i]*(-1);
  533.         glVertex2d(ax0[i]+xc,ay0[i]+yc);
  534.         glVertex2d(tx0+xc,ay0[i]+yc);
  535.         glVertex2d(ax0[i]+xc,ty0+yc);
  536.         glVertex2d(tx0+xc,ty0+yc);
  537.         glVertex2d(ay0[i]+xc,ax0[i]+yc);
  538.         glVertex2d(ty0+xc,ax0[i]+yc);
  539.         glVertex2d(ay0[i]+xc,tx0+yc);
  540.         glVertex2d(ty0+xc,tx0+yc);
  541.     }
  542.     glEnd();
  543.  
  544.     // lower padel verti line
  545.     glColor3f (1.0, 1.0, 1.0);
  546.     glBegin(GL_POLYGON);
  547.     glVertex2d(-5,0);
  548.     glVertex2d(5,0);
  549.     glVertex2d(5,-75);
  550.     glVertex2d(-5,-75);
  551.     glEnd();
  552.  
  553.     // lower padel horiz line
  554.     glColor3f (1.0, 1.0, 1.0);
  555.     glBegin(GL_POLYGON);
  556.     glVertex2d(-12,-75);
  557.     glVertex2d(12,-75);
  558.     glVertex2d(12,-85);
  559.     glVertex2d(-12,-85);
  560.     glEnd();
  561.  
  562.     // upper chain line
  563.     glColor3f (0.83, 0.83, 0.83);
  564.     glBegin(GL_POLYGON);
  565.     glVertex2d(0,55);
  566.     glVertex2d(400,35);
  567.     glVertex2d(400,30);
  568.     glVertex2d(0,50);
  569.     glEnd();
  570.  
  571.     // lower chain line
  572.     glColor3f (0.83, 0.83, 0.83);
  573.     glBegin(GL_POLYGON);
  574.     glVertex2d(0,-55);
  575.     glVertex2d(400,-35);
  576.     glVertex2d(400,-30);
  577.     glVertex2d(0,-50);
  578.     glEnd();
  579.  
  580.     glFlush ();
  581. }
  582.  
  583. void init (void){
  584.    
  585.     glClearColor (0.0, 0.0, 0.0, 0.0);
  586.    
  587.     glMatrixMode(GL_PROJECTION);
  588.     glLoadIdentity();
  589.     gluOrtho2D(-1000,1000,-1000,1000);      //fix the windows size
  590. }
  591.  
  592. int main(int argc, char** argv)
  593. {
  594.     glutInit(&argc, argv);
  595.     glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
  596.     glutInitWindowSize (1000, 1000);
  597.     glutInitWindowPosition (50, 50);
  598.     glutCreateWindow ("172-15-9804");
  599.     init ();
  600.     glutDisplayFunc(display);
  601.     glutMainLoop();
  602.    
  603.     return 0;
  604. }
RAW Paste Data