Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 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
 
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
 
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
 
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
 
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