(einstein) .dup .where (.pop .pop) (100 .dict .def) .ifelse .cvx .exec einstein .begin (#EI) (.startpath 1 11 linepts 1 1 linepts 6.7 1 linepts 7.3 3 linepts 3 3 linepts 3 5 linepts 9 5 linepts 9 1 linepts 11 1 linepts 11 11 linepts 9 11 linepts 9 7 linepts 3 7 linepts 3 9 linepts 7.3 9 linepts 6.7 11 linepts 1 11 linepts linelast .drawarea) .cvx .def (#N) (.startpath 1 10.7 linepts 1 1 linepts 3 1 linepts 3 8 linepts 9 .7 linepts 11 1.3 linepts 11 11 linepts 9 11 linepts 9 4 linepts 3 11.3 linepts 1 10.7 linepts linelast .drawarea) .cvx .def (#S) (.startpath 1 10.7 .exch linepts 1 1 .exch linepts 3 1 .exch linepts 3 8 .exch linepts 9 .7 .exch linepts 11 1.3 .exch linepts 11 11 .exch linepts 9 11 .exch linepts 9 4 .exch linepts 3 11.3 .exch linepts 1 10.7 .exch linepts linelast .drawarea) .cvx .def (#T) (.startpath 12 1 .sub 11 .exch linepts 12 1 .sub 1 .exch linepts 12 6.7 .sub 1 .exch linepts 12 7.3 .sub 3 .exch linepts 12 3 .sub 3 .exch linepts 12 3 .sub 5 .exch linepts 12 9 .sub 5 .exch linepts 12 9 .sub 1 .exch linepts 12 11 .sub 1 .exch linepts 12 11 .sub 11 .exch linepts 12 9 .sub 11 .exch linepts 12 9 .sub 7 .exch linepts 12 3 .sub 7 .exch linepts 12 3 .sub 9 .exch linepts 12 7.3 .sub 9 .exch linepts 12 6.7 .sub 11 .exch linepts 12 1 .sub 11 .exch linepts linelast .drawarea) .cvx .def (#EIX) (.startpath 12 1 .sub 11 linepts 12 1 .sub 1 linepts 12 6.7 .sub 1 linepts 12 7.3 .sub 3 linepts 12 3 .sub 3 linepts 12 3 .sub 5 linepts 12 9 .sub 5 linepts 12 9 .sub 1 linepts 12 11 .sub 1 linepts 12 11 .sub 11 linepts 12 9 .sub 11 linepts 12 9 .sub 7 linepts 12 3 .sub 7 linepts 12 3 .sub 9 linepts 12 7.3 .sub 9 linepts 12 6.7 .sub 11 linepts 12 1 .sub 11 linepts linelast .drawarea) .cvx .def (#NX) (.startpath 12 1 .sub 10.7 linepts 12 1 .sub 1 linepts 12 3 .sub 1 linepts 12 3 .sub 8 linepts 12 9 .sub .7 linepts 12 11 .sub 1.3 linepts 12 11 .sub 11 linepts 12 9 .sub 11 linepts 12 9 .sub 4 linepts 12 3 .sub 11.3 linepts 12 1 .sub 10.7 linepts linelast .drawarea) .cvx .def (#SX) (.startpath 1 12 10.7 .sub .exch linepts 1 12 1 .sub .exch linepts 3 12 1 .sub .exch linepts 3 12 8 .sub .exch linepts 9 12 .7 .sub .exch linepts 11 12 1.3 .sub .exch linepts 11 12 11 .sub .exch linepts 9 12 11 .sub .exch linepts 9 12 4 .sub .exch linepts 3 12 11.3 .sub .exch linepts 1 12 10.7 .sub .exch linepts linelast .drawarea) .cvx .def (#TY) (.startpath 1 12 11 .sub .exch linepts 1 12 1 .sub .exch linepts 6.7 12 1 .sub .exch linepts 7.3 12 3 .sub .exch linepts 3 12 3 .sub .exch linepts 3 12 5 .sub .exch linepts 9 12 5 .sub .exch linepts 9 12 1 .sub .exch linepts 11 12 1 .sub .exch linepts 11 12 11 .sub .exch linepts 9 12 11 .sub .exch linepts 9 12 7 .sub .exch linepts 3 12 7 .sub .exch linepts 3 12 9 .sub .exch linepts 7.3 12 9 .sub .exch linepts 6.7 12 11 .sub .exch linepts 1 12 11 .sub .exch linepts linelast .drawarea) .cvx .def (#EINST) (.pushdc #T 0 11 .translate #EIX 0 11 .translate #NX 0 11 .translate #SX 11 0 .translate #NX 0 -11 .translate #SX 0 -11 .translate #TY 11 0 .translate #S 11 0 .translate #N 0 -11 .translate #S -11 0 .translate #N -11 0 .translate #EI .popdc) .cvx .def (#x) (#EINST 44 0 .translate (x).print) .cvx .def (#y) (#EINST 0 44 .translate (y).print ).cvx .def (#EINSTEIN) (4 3dxrotate -5 3dyrotate .pushdc .pushdc #x #x #x #x #x #x .popdc #y .pushdc #x #x #x #x #x #x .popdc #y .pushdc #x #x #x #x #x #x .popdc #y .popdc) .cvx .def (latitudinalextent) 264. .def (longitudinalextent) 132. .def (linepts) (!flfrst ((!flfy) .exch .def (!flfx) .exch .def (!flnx) !flfx .def (!flny) !flfy .def (!flfrst) .false .def) ((!floy) !flny .def (!flox) !flnx .def (!flny) .exch .def (!flnx) .exch .def (!fldx) !flnx !flox .sub !flnc .div .def (!fldy) !flny !floy .sub !flnc .div .def !flox !floy !flnc .cvi ( 2 .copy transform .enterpoint !fldx !fldy v2add).cvx .rept .pop .pop)/ifelse).cvx .def (linelast) ((!floy) !flny .def (!flox) !flnx .def (!fldx) !flfx !flox .sub !flnc .div .def (!fldy) !flfy !floy .sub !flnc .div .def !flox !floy !flnc .cvi ( 2 .copy transform .enterpoint !fldx !fldy v2add).cvx .rept .pop .pop (!flfrst) .true .def).cvx .def (!flnc) 3. .def (white)(0 0 255) .cvx .def (black)(0 0 0) .cvx .def (.translate)((!ty) .exch !ty .add .def (!tx) .exch !tx .add .def).cvx .def (.pushdc)(!stk !ix .aget .dup 0 !tx .aput 1 !ty .aput (!ix) !ix 1 .add .def !stk !ix .aget .dup 0 !tx .aput 1 !ty .aput).cvx .def (.popdc)( (!ix) !ix 1 .sub .def !stk !ix .aget .cvx .exec (!ty) .exch .def (!tx) .exch .def).cvx .def (transform)((!yy) .exch !ty .add .def (!xx) .exch !tx .add .def !sr !xx !sclx .mul .sin !yy !scly .mul .cos .mul .mul !sr !xx !sclx .mul .cos !yy !scly .mul 5. .add .cos .mul .mul !sr !yy !scly .mul .sin .mul 3dtransform 3dPersp).cvx .def (einsteininit)((!ix) 0 .def (!hght) 300 3 .5 .exp .mul 100 .add .def (!stk) .dup .where (.pop .pop) ( [ [ 0 0 ] [ 0 0 ] [ 0 0 ] [ 0 0 ] [ 0 0 ] [ 0 0 ] [ 0 0 ] [ 0 0 ] [ 0 0 ] [ 0 0 ] ] .def) .ifelse .cvx .exec (!sclx) 360 latitudinalextent .div .def (!scly) 79 longitudinalextent .div .def (!flfrst) .true .def (!sr) 300 .def (!tx) 0 .def (!ty) 0 .def ).cvx .def einsteininit .end