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

MultiPlatform

  1. #include <LEDA/plane.h>
  2. #include <LEDA/window.h>
  3. #include <math.h>
  4. main()
  5. {
  6.   window W;
  7.   W.init(-100000000, 100000000, -100000000);
  8.   int n =  W.read_int("n = ");
  9.   list<segment> L;
  10.  
  11.   point c(0,0);
  12.   segment s;
  13.   double r = 1000000000;
  14.   double alpha = 0;
  15.   double d = 2*LEDA_PI/n;
  16.   for(int i = 0; i<n; i++)
  17.   { point p(rand_int(-10,+10),rand_int(-10,+10));
  18.     s = segment(p,c.translate(alpha,r));
  19.     L.append(s);
  20.     alpha += d;
  21.    }
  22.   forall(s,L) W << s;
  23.   point p,q;
  24.   for(;;)
  25.   { if (W.read_mouse(p)==3) break;
  26.     W.read_mouse_rect(p,q);
  27.     W.init(p.xcoord(),q.xcoord(),p.ycoord());
  28.     forall(s,L) W << s;
  29.   }
  30.   return 0;
  31. }
  32.