|
|
1.1 ! root 1: /LOGO-dict-mm dup where not ! 2: { dup 64 dict def currentdict } if ! 3: exch get ! 4: begin ! 5: /globesetup { ! 6: /r exch def ! 7: /N exch def ! 8: /d 2 N r mul N 1 sub add div def ! 9: /h d r mul def ! 10: } def ! 11: /mkabs { ! 12: /yp exch def ! 13: /xl exch def ! 14: dup dup 0 get xl mul 0 exch put ! 15: dup dup 1 get h mul yp add 1 exch put ! 16: dup dup 2 get xl mul 2 exch put ! 17: dup dup 3 get h mul yp add 3 exch put ! 18: dup dup 4 get xl mul 4 exch put ! 19: dup dup 5 get h mul yp add 5 exch put ! 20: } def ! 21: /topsegment { ! 22: /n exch def ! 23: /y n r mul n .5 add add d mul def ! 24: /a y 1 y dup mul sub sqrt atan def ! 25: /x a cos def ! 26: /c2 exch x y mkabs def ! 27: /ly1 exch h mul y add def ! 28: /lx1 exch x abs mul def ! 29: /c1 exch x y mkabs def ! 30: x y /moveto load ! 31: 0 0 1 a 180 a sub /arc load ! 32: c1 aload pop /curveto load ! 33: lx1 ly1 /lineto load ! 34: c2 aload pop /curveto load ! 35: /closepath load ! 36: } def ! 37: /botsegment { ! 38: /n exch 1 add def ! 39: /y n r mul n .5 sub add d mul def ! 40: /a y 1 y dup mul sub sqrt atan def ! 41: /x a cos def ! 42: /c2 exch x y mkabs def ! 43: /ly1 exch h mul y add def ! 44: /lx1 exch x abs mul def ! 45: /c1 exch x y mkabs def ! 46: x y /moveto load ! 47: 0 0 1 a 540 a sub /arcn load ! 48: c1 aload pop /curveto load ! 49: lx1 ly1 /lineto load ! 50: c2 aload pop /curveto load ! 51: /closepath load ! 52: } def ! 53: /segment { ! 54: /n exch def ! 55: /dh exch 1 exch sub 2 div def ! 56: /ylb n r mul n 0.5 add add d mul def ! 57: /ylt ylb h add def ! 58: /yrb ylb h dh mul add def ! 59: /yrt ylt h dh mul sub def ! 60: /alb ylb 1 ylb dup mul sub sqrt atan def ! 61: /alt ylt 1 ylt dup mul sub sqrt atan def ! 62: /arb yrb 1 yrb dup mul sub sqrt atan 180 exch sub def ! 63: /art yrt 1 yrt dup mul sub sqrt atan 180 exch sub def ! 64: /xlb alb cos def ! 65: /xlt alt cos def ! 66: /xrb arb cos def ! 67: /xrt art cos def ! 68: /c4 exch xrb abs ylb mkabs def ! 69: /ly2 exch h mul ylb add def ! 70: /lx2 exch xrb abs mul def ! 71: /c3 exch xrb abs ylb mkabs def ! 72: /c2 exch xrt abs ylt mkabs def ! 73: /ly1 exch h mul ylt add def ! 74: /lx1 exch xrt abs mul def ! 75: /c1 exch xrt abs ylt mkabs def ! 76: xlb ylb /moveto load ! 77: 0 0 1 alb alt /arc load ! 78: c2 4 get c2 5 get /lineto load ! 79: c2 2 get c2 3 get ! 80: c2 0 get c2 1 get ! 81: lx1 ly1 /curveto load ! 82: c1 4 get c1 5 get /lineto load ! 83: c1 2 get c1 3 get ! 84: c1 0 get c1 1 get ! 85: xrt yrt /curveto load ! 86: 0 0 1 art arb /arc load ! 87: c3 aload pop /curveto load ! 88: lx2 ly2 /lineto load ! 89: c4 aload pop /curveto load ! 90: /closepath load ! 91: } def ! 92: 8 2.5 globesetup ! 93: /globe8 [ ! 94: /newpath load ! 95: [ -.9 .1 -.6 .2 -.5 .2 ] -.5 .2 [ -.4 .2 .0 .0 .4 .0 ] 3 topsegment ! 96: [ -.9 -.35 -.85 -.35 -.8 -.35 ] -.1 -.35 [ .1 -.35 .3 .0 .5 .0 ] ! 97: [ -.8 .35 -.75 .35 -.7 .35 ] -.1 .35 [ .1 .35 .4 .0 .55 .0 ] .55 2 segment ! 98: [ -.8 -.35 -.75 -.35 -.7 -.35 ] .05 -.35 [ .2 -.35 .4 .0 .55 .0 ] ! 99: [ -.8 .35 -.75 .35 -.7 .35 ] .05 .35 [ .2 .35 .45 .0 .6 .0 ] .7 1 segment ! 100: [ -.8 -.35 -.75 -.35 -.7 -.35 ] .0 -.35 [ .15 -.35 .4 .0 .6 .0 ] ! 101: [ -.8 .35 -.75 .35 -.7 .35 ] .0 .35 [ .15 .35 .4 .0 .6 .0 ] .7 0 segment ! 102: [ -.7 -.35 -.65 -.35 -.6 -.35 ] -.1 -.35 [ .05 -.35 .35 .0 .55 .0 ] ! 103: [ -.7 .35 -.65 .35 -.6 .35 ] -.1 .35 [ .05 .35 .25 .0 .4 .0 ] .8 -1 segment ! 104: [ -.65 -.2 -.55 -.2 -.45 -.2 ] -.3 -.2 [ -.2 -.2 .2 .0 .3 .0 ] ! 105: [ -.65 .1 -.55 .1 -.45 .1 ] -.45 .1 [ -.3 .1 -.1 .0 .0 .0 ] .96 -2 segment ! 106: [ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] ! 107: [ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] 1 -3 segment ! 108: [ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] -4 botsegment ! 109: ] cvx def ! 110: 12 3 globesetup ! 111: /globe12 [ ! 112: /newpath load ! 113: [ -.8 .2 -.7 .25 -.5 .25 ] -.4 .25 [ -.2 .25 .0 .0 .2 .0 ] 5 topsegment ! 114: [ -.7 -.35 -.7 -.35 -.6 -.35 ] -.3 -.35 [ -.1 -.35 .3 .0 .55 .0 ] ! 115: [ -.7 .35 -.7 .35 -.6 .35 ] -.25 .35 [ -.05 .35 .4 .0 .55 .0 ] .6 4 segment ! 116: [ -.8 -.35 -.7 -.35 -.6 -.35 ] -.1 -.35 [ .1 -.35 .4 .0 .5 .0 ] ! 117: [ -.8 .35 -.7 .35 -.6 .35 ] -.1 .35 [ .1 .35 .4 .0 .5 .0 ] .7 3 segment ! 118: [ -.8 -.35 -.7 -.35 -.6 -.35 ] .0 -.35 [ .1 -.35 .45 .0 .55 .0 ] ! 119: [ -.8 .35 -.7 .35 -.6 .35 ] .0 .35 [ .15 .35 .4 .0 .5 .0 ] .8 2 segment ! 120: [ -.75 -.35 -.7 -.35 -.6 -.35 ] .0 -.35 [ .2 -.35 .4 .0 .5 .0 ] ! 121: [ -.75 .35 -.7 .35 -.6 .35 ] .0 .35 [ .2 .35 .45 .0 .55 .0 ] .9 1 segment ! 122: [ -.7 -.35 -.6 -.35 -.55 -.35 ] .0 -.35 [ .1 -.35 .45 .0 .55 .0 ] ! 123: [ -.7 .35 -.6 .35 -.55 .35 ] .0 .35 [ .1 .35 .5 .0 .6 .0 ] .9 0 segment ! 124: ] cvx ! 125: [ ! 126: [ -.7 -.35 -.6 -.35 -.5 -.35 ] -.15 -.35 [ .0 -.35 .4 .0 .5 .0 ] ! 127: [ -.65 .35 -.55 .35 -.45 .35 ] -.15 .35 [ .0 .35 .35 .0 .45 .0 ] .9 -1 segment ! 128: [ -.8 -.1 -.5 -.3 -.4 -.3 ] -.2 -.3 [ .0 -.3 .3 .0 .4 .0 ] ! 129: [ -.8 .1 -.5 .3 -.4 .3 ] -.2 .3 [ .0 .3 .2 .0 .3 .0 ] 1 -2 segment ! 130: [ -.7 -.1 -.5 -.15 -.4 -.15 ] -.3 -.15 [ -.2 -.15 .0 .0 .2 .0 ] ! 131: [ -.7 .05 -.5 .1 -.4 .1 ] -.4 .1 [ -.3 .1 .0 .0 .2 .0 ] 1 -3 segment ! 132: [ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] ! 133: [ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] 1 -4 segment ! 134: [ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] ! 135: [ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] 1 -5 segment ! 136: [ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] -6 botsegment ! 137: ] cvx ! 138: 4 array cvx ! 139: dup 0 5 -1 roll put ! 140: dup 1 /exec load put ! 141: dup 2 4 -1 roll put ! 142: dup 3 /exec load put ! 143: def ! 144: end ! 145: /build_L1 { ! 146: pop ! 147: LOGO-dict-mm begin ! 148: ptsize 29 lt ! 149: { /globe /globe8 load def } ! 150: { /globe /globe12 load def } ifelse ! 151: gsave ! 152: currentpoint translate ! 153: size 2 div dup scale ! 154: 1.02 1 transform round exch round exch itransform ! 155: translate ! 156: globe fill ! 157: grestore ! 158: end ! 159: } def
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.