inside.c
上传用户:gzelex
上传日期:2007-01-07
资源大小:707k
文件大小:1k
开发平台:

MultiPlatform

  1. #include <LEDA/plane.h>
  2. #include <LEDA/window.h>
  3. main()
  4. { window W;
  5.   string   s[5];
  6.   s[0] = "no grid ";
  7.   s[1] = "10 pixel";
  8.   s[2] = "20 pixel";
  9.   s[3] = "30 pixel";
  10.   s[4] = "40 pixel";
  11.   int grid_width = 10 * W.read_panel("GRID MODE ? ",5,s);
  12.   W.clear();
  13.   W.init(0,1000,0, grid_width);
  14.   W.set_node_width(2);
  15.   polygon P;
  16.   W >> P;
  17.   W << P;
  18.   int key;
  19.   double x,y;
  20.   while ((key = W.read_mouse(x,y)) !=3) 
  21.   { point p(x,y);
  22.     W << p; 
  23.     if (key == 1)
  24.     { if (P.inside(p)) W.draw_text(p,"INSIDE");
  25.       else W.draw_text(p,"OUTSIDE");
  26.      }
  27.     else
  28.     { W.clear();
  29.       W << P; 
  30.       int n = W.read_int("n = ");
  31.       while (n--)
  32.       { p = point(rand_int(0,1000),rand_int(0,1000));
  33.         if (P.inside(p)) W.draw_filled_node(p);
  34.         else W << p;
  35.        }
  36.      }
  37.   }
  38.   return 0;
  39. }