mhdew

Prome's Shahid Minar

Apr 16th, 2021
593
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.  
  5. int rund(double x) { return ((int)(x*10))%10>5?(int)++x:(int)x; }
  6.  
  7. void axes()
  8. {
  9.     glColor3f (1.0, 0.0, 0.0);
  10.    
  11.     glBegin(GL_POINTS);
  12.    
  13.     for(int i=-1000;i<=1000;i++){
  14.         glVertex2d(0,i);
  15.         glVertex2d(i,0);
  16.     }
  17.  
  18.     glEnd();
  19.  
  20.     glFlush();
  21. }
  22.  
  23. void rectangle(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
  24. {
  25.     glColor3f (1.0, 1.0, 1.0);
  26.    
  27.     glBegin(GL_POLYGON);
  28.    
  29.     glVertex2d(x1,y1);
  30.     glVertex2d(x2,y2);
  31.     glVertex2d(x3,y3);
  32.     glVertex2d(x4,y4);
  33.    
  34.     glEnd();
  35.  
  36.     glFlush();
  37. }
  38.  
  39. void rectangle2(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
  40. {
  41.     glColor3f (0.87, 0.87, 0.87);
  42.    
  43.     glBegin(GL_POLYGON);
  44.    
  45.     glVertex2d(x1,y1);
  46.     glVertex2d(x2,y2);
  47.     glVertex2d(x3,y3);
  48.     glVertex2d(x4,y4);
  49.    
  50.     glEnd();
  51.  
  52.     glFlush();
  53. }
  54.  
  55. void rectangle3(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
  56. {
  57.     glColor3f (0.65, 0.0, 0.0);
  58.    
  59.     glBegin(GL_POLYGON);
  60.    
  61.     glVertex2d(x1,y1);
  62.     glVertex2d(x2,y2);
  63.     glVertex2d(x3,y3);
  64.     glVertex2d(x4,y4);
  65.    
  66.     glEnd();
  67.  
  68.     glFlush();
  69. }
  70.  
  71. void rectangle4(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
  72. {
  73.     glColor3f (0.52, 0.0, 0.0);
  74.    
  75.     glBegin(GL_POLYGON);
  76.    
  77.     glVertex2d(x1,y1);
  78.     glVertex2d(x2,y2);
  79.     glVertex2d(x3,y3);
  80.     glVertex2d(x4,y4);
  81.    
  82.     glEnd();
  83.  
  84.     glFlush();
  85. }
  86.  
  87. void rectangle5(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
  88. {
  89.     glColor3f (0.32, 0.00, 0.00);
  90.    
  91.     glBegin(GL_POLYGON);
  92.    
  93.     glVertex2d(x1,y1);
  94.     glVertex2d(x2,y2);
  95.     glVertex2d(x3,y3);
  96.     glVertex2d(x4,y4);
  97.    
  98.     glEnd();
  99.  
  100.     glFlush();
  101. }
  102.  
  103.  
  104. void midPoint(int xc, int yc, int r){
  105.  
  106.     glColor3f (0.86, 0.0, 0.0);
  107.  
  108.     int x0=0, y0=r, p0=1-r;
  109.     int ax0[1111], ay0[1111];
  110.     int idx0=0;
  111.     ax0[idx0]=x0;
  112.     ay0[idx0++]=y0;
  113.     while(1){
  114.         if(p0<0){
  115.             x0++; p0=p0+(2*x0)+1;
  116.         }
  117.         else{
  118.             x0++; y0--; p0=p0+(2*x0)+1-2*y0;
  119.         }
  120.         ax0[idx0]=x0; ay0[idx0++]=y0;
  121.         if(x0>=y0) break;
  122.     }
  123.  
  124.     glBegin(GL_POLYGON);
  125.     int tx0,ty0;
  126.     for(int i=0;i<idx0;i++){
  127.         tx0=ax0[i]*(-1); ty0=ay0[i]*(-1);
  128.         glVertex2d(ax0[i]+xc,ay0[i]+yc);
  129.         glVertex2d(tx0+xc,ay0[i]+yc);
  130.         glVertex2d(ax0[i]+xc,ty0+yc);
  131.         glVertex2d(tx0+xc,ty0+yc);
  132.         glVertex2d(ay0[i]+xc,ax0[i]+yc);
  133.         glVertex2d(ty0+xc,ax0[i]+yc);
  134.         glVertex2d(ay0[i]+xc,tx0+yc);
  135.         glVertex2d(ty0+xc,tx0+yc);
  136.     }
  137.     glEnd();
  138.  
  139.     glFlush();
  140. }
  141.  
  142.  
  143. void display(void)
  144. {
  145.     glClear (GL_COLOR_BUFFER_BIT);
  146.    
  147.     // axes();
  148.  
  149.     // circle
  150.     midPoint(0,450,280);
  151.  
  152.     // inbar0d
  153.     rectangle2(-215,190,215,190,215,210,-215,210);
  154.     rectangle2(-215,390,215,390,215,410,-215,410);
  155.     rectangle2(-215,590,215,590,215,610,-215,610);
  156.  
  157.     // inbar0u
  158.     rectangle2(-210,740,210,740,210,760,-210,760);
  159.  
  160.     // inbar-1
  161.     rectangle2(-445,150,-315,110,-315,130,-445,170);
  162.     rectangle2(-445,350,-315,310,-315,330,-445,370);
  163.  
  164.     // inbar1
  165.     rectangle2(445,150,315,110,315,130,445,170);
  166.     rectangle2(445,350,315,310,315,330,445,370);
  167.  
  168.     // inbar-2
  169.     rectangle2(-695,100,-545,75,-545,95,-695,120);
  170.     rectangle2(-695,275,-545,250,-545,270,-695,295);
  171.  
  172.     // inbar2
  173.     rectangle2(695,100,545,75,545,95,695,120);
  174.     rectangle2(695,275,545,250,545,270,695,295);
  175.  
  176.     // col0d
  177.     rectangle(-15,0,15,0,15,600,-15,600);
  178.     rectangle(-215,0,-165,0,-165,600,-215,600);
  179.     rectangle(165,0,215,0,215,600,165,600);
  180.  
  181.     // col0u
  182.     rectangle(-15,600,15,600,8,920,-8,920);
  183.     rectangle(-215,600,-165,600,-200,920,-235,920);
  184.     rectangle(165,600,215,600,235,920,200,920);
  185.    
  186.     // bar0
  187.     rectangle(-220,900,220,900,225,920,-225,920);
  188.  
  189.     // col-1
  190.     rectangle(-340,0,-315,0,-315,575,-340,575);
  191.     rectangle(-445,0,-420,0,-420,600,-445,620);
  192.  
  193.     // bar-1
  194.     rectangle(-445,595,-315,550,-315,575,-445,620);
  195.  
  196.     // col1
  197.     rectangle(340,0,315,0,315,575,340,575);
  198.     rectangle(445,0,420,0,420,600,445,620);
  199.  
  200.     // bar1
  201.     rectangle(445,595,315,550,315,575,445,620);
  202.  
  203.     // col-2
  204.     rectangle(-570,0,-545,0,-545,425,-570,425);
  205.     rectangle(-695,0,-670,0,-670,450,-695,450);
  206.  
  207.     // bar-2
  208.     rectangle(-695,425,-545,400,-545,425,-695,450);
  209.  
  210.     // col2
  211.     rectangle(570,0,545,0,545,425,570,425);
  212.     rectangle(695,0,670,0,670,450,695,450);
  213.  
  214.     // bar2
  215.     rectangle(695,425,545,400,545,425,695,450);
  216.  
  217.     // base1
  218.     rectangle3(-775,0,775,0,775,-50,-775,-50);
  219.  
  220.     // base2
  221.     rectangle4(-825,-50,825,-50,825,-100,-825,-100);
  222.  
  223.     // base3
  224.     rectangle5(-855,-100,855,-100,855,-150,-855,-150);
  225. }
  226.  
  227. void init (void){
  228.    
  229.     glClearColor (0.0, 0.0, 0.0, 0.0);
  230.    
  231.     glMatrixMode(GL_PROJECTION);
  232.     glLoadIdentity();
  233.     glOrtho(-1000,1000,-800,1300, -1.0, 1.0);
  234. }
  235.  
  236. int main(int argc, char** argv)
  237. {
  238.     glutInit(&argc, argv);
  239.     glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
  240.     glutInitWindowSize (1000, 1000);
  241.     glutInitWindowPosition (50, 50);
  242.     glutCreateWindow ("172-15-9743");
  243.     init ();
  244.     glutDisplayFunc(display);
  245.     glutMainLoop();
  246.    
  247.     return 0;
  248. }
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×