#include <cmacs.h>
#include <video.h>
#include <units.h>

#define nedg 30   
#define Rearth (6378*KM)
#define Synch (20000*MI)
#define Skylen (90000*MI)
main(argc,argv)
int argc; char *argv[];
  {WINDOWS *north, *earth, *space;  double w,dx,dy,rb,d,x[nedg],y[nedg];
   int i;
   w = COS(PI/nedg);
   north = READWINDOWSET("polar.img",-w,-w,w,w,"W");
   rb = Rearth/10;
   d = 2*Rearth+Skylen+2*rb;
   dx = d/SQRT(1+.75*.75);   dy = 0.75*dx;
   space = WINDOWSET(-Rearth,-Rearth,dx-Rearth,dy-Rearth,"W");
   earth = SUBWINDOW(space,-Rearth,-Rearth,Rearth,Rearth,-w,-w,w,w);
   for (i=0; i<nedg; ++i)
      {x[i]=COS((TWOPI*i)/nedg);  y[i]=SIN((TWOPI*i)/nedg);}
   SELECT(space);  INK(.8); PEN(4);
   LINE(Synch*.8+.3*Rearth,Synch*.6-.4*Rearth,
        Synch*.8-.3*Rearth,Synch*.6+.4*Rearth);
   INK(.7); PEN(10); LINE(0,0,Skylen*.8,Skylen*.6);
   INK(1);
   TEXT(Synch*.8,Synch*.6,Rearth/3,Rearth/1.5,"\nSynchronous Orbit");
   TEXT(Skylen*.8,Skylen*.6,Rearth/3,Rearth/1.5,
         "\n\b\b\b\b\b\b\b\b\b\bBallast");
   TEXT(Rearth,0,Rearth/3,Rearth/1.5," Earth");
   SELECT(earth);
   PATCH(nedg,x,y,north,x,y);
   SELECT(space);
   PEN(20); DOT(Skylen*.8,Skylen*.6);
   GRINNELLUP(0);
   FILEUP("synch.img");
   }

