% \$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;