home *** CD-ROM | disk | FTP | other *** search
- // This is the old sun.poc file all right
-
- #define SPOKES 16
-
- half_circle(double arc, double len)
- {
- #define STEPS 16
- int i;
- double inc;
-
- inc = arc/STEPS;
- i = STEPS;
- while (--i >= 0)
- {
- Move(len);
- Right(inc);
- }
- #undef STEPS
- }
-
- make_spoke(double len)
- {
- int i;
- int color = 99;
- double arc = 180;
- double sign = 1;
- int bsize = 10;
-
- i = 11;
- while (--i >= 0)
- {
- SetColor(color);
- SetBrushSize(bsize);
- half_circle(arc*sign,len);
- sign = -sign;
- arc -= 10;
- color -= 1;
- bsize -= 1;
- }
- }
-
- make_spokes(double len)
- {
- double x,y,a;
- double i;
-
- int bin=0;
- double slen, rlen;
- Where(&x,&y,&a);
- slen = len*0.8;
- for (i=0; i<360; i+=360.0/SPOKES)
- {
- MoveTo(x,y,a+i);
- rlen = len;
- if (bin)
- make_spoke(len);
- else
- make_spoke(slen);
- bin = !bin;
- }
- MoveTo(x,y,a);
- }
-
- main()
- {
- #define FCOUNT 16
- int i;
- double len = 0.5;
- int obsize;
-
- obsize = GetBrushSize();
- NewFlic();
- SetFrameCount(FCOUNT*2);
- for (i=0; i<FCOUNT; i++)
- {
- make_spokes(len);
- len += 0.025;
- Right(360.0/(SPOKES*FCOUNT));
- NextFrame();
- }
- for (i=0; i<FCOUNT; i++)
- {
- make_spokes(len);
- len -= 0.025;
- Right(360.0/(SPOKES*FCOUNT));
- NextFrame();
- }
- SetBrushSize(obsize);
- //exit(-425);
- }
-