Blob


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
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