Advertisement
Guest User

Untitled

a guest
Jul 24th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. Mahabub Al Islam
  3. 1 year ago
  4. #include<windows.h>
  5. #ifdef _APPLE_
  6. #include <GLUT/glut.h>
  7. #else
  8. #include <GL/glut.h>
  9. #endif
  10.  
  11. #include <stdlib.h>
  12.  
  13. #include <gl/glut.h>
  14. #include <gl/gl.h>
  15. #include <math.h>
  16. #include <time.h>
  17. #include <sys/timeb.h>
  18. #include<bits/stdc++.h>
  19. using namespace std;
  20.  
  21.  
  22. void circle(float cx=0.0, float cy=0.0, float r=5.0)
  23. {
  24.  
  25.     int num=50;
  26.     float pi=2*3.1416;
  27.     glLineWidth(1.0);
  28.  
  29.     glBegin(GL_TRIANGLE_FAN);
  30.     for(double i=0;i<=num;i+=(0.2))
  31.     {
  32.         float theta = pi*float(i)/float(num);
  33.         float x= r*cosf(theta);
  34.         float y= r*sinf(theta);
  35.  
  36.  
  37.         glVertex2d(x+cx,y+cy);
  38.     }
  39.     glEnd();
  40.  
  41. }
  42.  
  43. void circle_half(float cx=0.0, float cy=0.0, float r=2.0)
  44. {
  45.     int num=50;
  46.     float pi=3.1416;
  47.     glLineWidth(10.0);
  48.  
  49.     glBegin(GL_TRIANGLE_FAN);
  50.     for(double i=0;i<=num;i+=(0.2))
  51.     {
  52.         float theta = pi*float(i)/float(num);
  53.         float x= r*cosf(theta);
  54.         float y= r*sinf(theta);
  55.          glColor3f(0.0,1.0,0.0);
  56.  
  57.         glVertex2d(x+cx,y+cy);
  58.     }
  59.     glEnd();
  60. }
  61.  
  62. void draw(int dis)
  63. {   dis%=20;
  64.     glClear(GL_COLOR_BUFFER_BIT);
  65.  
  66.  
  67.     glColor3d(0,0,0);
  68.     glBegin(GL_LINES);
  69.     glVertex2d(0,85);
  70.     glVertex2d(640,85);
  71.     glVertex2d(0,40);
  72.     glVertex2d(640,40);
  73.     glEnd();
  74.     glColor3d(0,0,0);
  75.     glBegin(GL_POINTS);
  76.     circle_half(200,200,80);
  77.     glEnd();
  78.     glBegin(GL_LINES);
  79.     glVertex2d(120,200);
  80.     glVertex2d(280,200);
  81.     glEnd();
  82.     glBegin(GL_POINTS);
  83.     circle(150,150,20);
  84.     glEnd();
  85.     glBegin(GL_LINES);
  86.     glVertex2d(150,130);
  87.     glVertex2d(150,78);
  88.     glEnd();
  89.     glBegin(GL_LINES);
  90.     glVertex2d(150,78);
  91.     glVertex2d(150-dis,50);
  92.     glEnd();
  93.     glBegin(GL_LINES);
  94.     glVertex2d(150,78);
  95.     glVertex2d(150+dis,50);
  96.     glEnd();
  97.  
  98.     glBegin(GL_LINES);
  99.     glVertex2d(200,200);
  100.     glVertex2d(200,130);
  101.     glEnd();
  102.     glBegin(GL_LINES);
  103.     glVertex2d(150,120);
  104.     glVertex2d(170,110);
  105.     glEnd();glBegin(GL_LINES);
  106.     glVertex2d(150,115);
  107.     glVertex2d(170,105);
  108.     glEnd();
  109.     glBegin(GL_LINES);
  110.     glVertex2d(200,130);
  111.     glVertex2d(170,110);
  112.     glEnd();
  113.     glBegin(GL_LINES);
  114.     glVertex2d(200,130);
  115.     glVertex2d(170,105);
  116.     glEnd();
  117.  
  118.     for(int i=1;i<=1000;i++)
  119.     {
  120.  
  121.  
  122.         int x=rand(),y=rand();
  123.         x%=640; y%=480;
  124.         if(x>=120&&x<=280&&y<=280)continue;
  125.         glBegin(GL_LINES);
  126.         glColor3b(1,1,1);
  127.         glVertex2d(x,y);
  128.         glVertex2d(x+5,y+5);
  129.         glEnd();
  130.     }
  131.  
  132. }
  133.  
  134. void plot(void)
  135. {
  136.  
  137.     glClear(GL_COLOR_BUFFER_BIT);
  138.     glColor3d(0,1,0);
  139.     glBegin(GL_POINTS);
  140.     for(int i=1;i<=100;i++)
  141.     {
  142.  
  143.  
  144.         int x=rand(),y=rand();
  145.         x%=640; y%=480;
  146.         if(x>=120&&x<=280&&y<=280)continue;
  147.         glBegin(GL_LINES);
  148.         glColor3b(1,1,1);
  149.         glVertex2d(x,y);
  150.         glVertex2d(x+5,y+5);
  151.         glEnd();
  152.     }
  153.  
  154.     for(int i=1;i<=10000;i+=5)
  155.     draw(i);
  156.  
  157.     glFlush();
  158. }
  159. void Init()
  160. {
  161.     /* Set clear color to white */
  162.     glClearColor(1.0,1.0,1.0,0);
  163.     /* Set fill color to black */
  164.     glColor3f(0.0,0.0,0.0);
  165.     /* glViewport(0 , 0 , 640 , 480); */
  166.     /* glMatrixMode(GL_PROJECTION); */
  167.     /* glLoadIdentity(); */
  168.     gluOrtho2D(0 , 640 , 0 , 480);
  169. }
  170. int main(int argc, char **argv)
  171. {
  172.  
  173.  
  174.  
  175.  
  176.  
  177.     /* Initialise GLUT library */
  178.     glutInit(&argc,argv);
  179.     /* Set the initial display mode */
  180.     glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
  181.     /* Set the initial window position and size */
  182.     glutInitWindowPosition(0,0);
  183.     glutInitWindowSize(640,480);
  184.     /* Create the window with title "DDA_Line" */
  185.     glutCreateWindow("Rain");
  186.     /* Initialize drawing colors */
  187.     Init();
  188.     /* Call the displaying function */
  189.     glutDisplayFunc(plot);
  190.     /* Keep displaying untill the program is closed */
  191.     glutMainLoop();
  192.     return 0;
  193. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement