summaryrefslogtreecommitdiff
path: root/dviware/quicspool/mffiles/logodesign.mf
blob: 7ee3264afc0af7825eb0cd9cb5e79562cb8ced9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
% $Header: logodesign.mf,v 1.1 88/01/15 12:59:36 simpson Rel $
% $Log:	logodesign.mf,v $
% Revision 1.1  88/01/15  12:59:36  simpson
% initial release
% 
% Revision 0.2  88/01/13  12:16:31  simpson
% removed trademark notice
% 
% Revision 0.1  87/12/11  19:16:34  simpson
% beta test
% 
% RCS $Header: logodesign.mf,v 1.1 88/01/15 12:59:36 simpson Rel $
% Makes the TRW logo!  Whoopee!
def LOGO =
z0=(0,3.91a);

y1=y0-1a;
fixpt(z1,z0,250);

y2=y1;
over(z2,z1,3.46a);

y3=y0;
z3-z2=z0-z1;


y4=0; fixpt(z4,z0,250);    % the imaginary intersection of left of top and base

y5=0; over(z5,z4,1.19a);

y6=0; over(z6,z4,2.45a);

y7=2.16a;
fixpt(z7,z6,70);

y8=y7; z8-z5 = z7-z6;


fill z0--z1--z2--z3..cycle;   % Top of the T
fill z5--z6--z7--z8..cycle;   % Bottom of the T

% The R requires some erasures.  Tricky.

y10=0;
over(z10,z4,3.8a);

y11=y10;
over(z11,z4,5.01a);

y12=2.16a;
fixpt(z12,z11,70);

y13=y12;
z13-z10=z12-z11;

fill z10--z11--z12--z13..cycle;      % Bottom parallelogram of the R

pair bigcenter;     % Center of major (2.51 diam) circle;
bigcenter=((7.60-.26)*a-(2.51a/2),(3.91a-(2.51a/2)));

pair littlecenter;  % Center of the minor (1.08 rad) circle;
littlecenter=((7.60-.26)*a-1.08a, (3.91-1.08)*a);

y14=3.91a; fixpt(z14,z10,70);
y15=y14-1a; fixpt(z15,z10,70);
y16=y14;  x16 = xpart bigcenter;
y17=y15;  x17 = x16;

fill z14--z15--z17--z16..cycle;       % Top left of the R, sort of.

pair rvert;    % the imaginary vertex of the R
ypart rvert=2.36a;
fixpt(rvert,z11,70);

y18=0; fixpt(z18,rvert,(250+45.5));
y19=0; x19=x18+1.29a;
x20=x18+.56a;
y21=2.15a; fixpt(z21,rvert,(250+45.5));
path bigsemicircle;
bigsemicircle = (halfcircle scaled (2.51a) rotated (-90)) shifted bigcenter;
path crossline; 
  crossline = (x18+0.56a, 0)..(x18+.56a, 3a);
z100 = (x18+0.56a, 3*a*xpart (crossline intersectiontimes bigsemicircle) );
y101 = 2.16a; x101=x100;
y102 = y101;  fixpt(z102, rvert, (250+45.5));

fill z18--z19--z100--z101--z102..cycle;   % Bottom right of the R.
fill bigsemicircle--cycle;    % Top right of the R, without the extras.
fill (quartercircle scaled (1.08a*2) shifted littlecenter)--cycle;

x103=(7.60-(.26+1.24))*a; y103 = y15;    % Fill in something to carve out
y104=y103; x104 = x103-.31a;
x105=x104; y105 = y104-.31a;
y106=2.16a; x106= x103-(.9/2)*a;
y107=y106; x107=x103;

fill z103--z104--z105--z106--z107--cycle; % Now we have to take away the circs

path bigecirc, smallecirc;    % The quarter circles to unfill
pair bigecent, smallecent;    % different centers

bigecent = (x106,(2.16a+(.9/2)*a));
smallecent = (x104, y105);

bigecirc = (((quartercircle rotated -90)scaled .9a) shifted bigecent) -- 
bigecent--cycle;
smallecirc = ((quartercircle scaled (.31a*2)) shifted smallecent) -- smallecent
 --cycle;

unfill bigecirc; unfill smallecirc;       %  We can but hope.


%  The W is a *little* easier

z22=(7.6a,3.91a);
z23=(7.6a,2.91a);
z24=((7.6+1.19)*a, 2.91a);
z25-z24=z22-z23;

fill z22--z23--z24--z25..cycle;          % Top left rect of W

z26=(7.6a,0);
x27=x26;y27=2.16a;
x28=x24;y28=y27;
x29=x28;y29=y28-.33a;
y30=y28; fixpt(z30,z29,70);

pair wvert;     % The bottom vertex of the w, imaginary in the hole
wvert=(9.93a,(2.16+.41)*a);

y31=y30; fixpt(z31,wvert,(270-21.75));
y32=0; fixpt(z32,wvert,(270-21.75));

fill z32--z31--z27--z26..cycle;   % Bottom left of W  (omit 28...30)

pair uright;     % The upper right.  Determines where the bottom ends up
uright=(12.82a, 3.91a);

x33=xpart wvert; y33=0;
y34=0; fixpt(z34,uright,(270-22.25));
y35=2.16a; fixpt(z35,uright,(270-22.25));
x36=x33; y36=y35;
y37=y36; x37=x22+3.35a;
x38=x37; y38=y37-.33a;
y39=y37; fixpt(z39,z38,70);

%show z33,z34,z35,z39,z38,z37,z36;
fill z33--z34--z35--z36..cycle;  % Bottom right of W  (omit 39--38--37)

z40=uright;
y41=y40; fixpt(z41,z38,70);
y42=2.91a; fixpt(z42,z38,70);
y43=y42; fixpt(z43,uright,(270-22.5));

fill z40--z41--z42--z43..cycle;   % Upper right trapezoid of W

z44=(x38,y40);
y45=y44; fixpt(z45,z29,70);
y46=y43; fixpt(z46,z29,70);
z47=(x44,y46);

fill z44--z45--z46--z47..cycle;   % Top middle trapezoid of W

penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
penlabels(21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40);
penlabels(41,42,43,44,45,46,47);
penlabels(100,101,102,103,104,105,106,107);

enddef;