% marge.mf by Raymond Chen (rjc@math.princeton.edu) % Marge Simpson. pictureof(Marge, 22u#, 40u#, 0); pickup thinpen; localpath eye_left, eye_right; eye_right = superellipse( (15.5u, 11.5u), (13.5u, 13.5u), (11.2u, 11.3u), (13.5u, 9.5u), .7); draw eye_right; localpath nose; nose = preclip((15u, 10.5u).. (16.3u,10.1u) .. (18 u,10 u){right} .. (18.8u, 9.5u){down} ... {-dir 30}(17 u, 8 u), eye_right); draw nose; localpath dimple; z1d = (12.5u, 7.4u); z2d = (11.8u, 6.8u); dimple = z1d{(z2d-z1d) rotated dimple_depth}.. {(z2d-z1d) rotated -dimple_depth}z2d; draw dimple; labels(1d, 2d); localpath mouth; mouth = prepostclip( (17u, 8.8u).. tension infinity and 3.. (19.6u, 7.5u) .. (17u, 6.5u){left} .. (14u, 7u) .. (12u, 7.1u), nose, dimple); draw mouth; eye_left = prepostclip( (17u, 9.7u){right}.. (19u, 12u){up}.. (17u, 13.6u){left}.. {down}(14.7u, 11u), nose, eye_right); draw eye_left; localpath ear; ear = (9.5u, 9.6u) .. (8.1u, 8.3u) ..(10u, 6.9u); draw ear; drawtau( (8.7u, 8.5u), (9.7u, 8.9u), (9.3u, 7.7u), (9.3u, 9.0u) ); % chin draw preclip( (16.3u, 6.5u){down} .. (16u, 6u){-dir30} .. (15u, 4u){down} .. (16.5u, 0u), mouth); % back of neck localpath neck; neck = preclip( (9u, 7u){down} .. %tension .9 and 3 .. {-(1,1.5)}(7.2u, 0u), ear); draw neck; if pearl > 0: pickup lacepen; overdraw fullcircle scaled .9pearl shifted (8.7u, 3u); % far left overdraw fullcircle scaled .95pearl shifted (15u, 2u); % far right overdraw fullcircle scaled .95pearl shifted (10.1u, 2.2u); % left of center overdraw fullcircle scaled pearl shifted (13.3u, 1.9u); % right of center overdraw fullcircle scaled pearl shifted (11.6u, 1.8u); % center pickup thinpen; fi % Marge's beehive 'do draw preclip( puffhair( (18.3u, 12.6u), % 1 (18.6u, 16.5u), % 2 (18.6u, 19 u), % 3 (17.8u, 22.8u), % 4 (17 u, 26 u), % 5 (16 u, 29 u), % 6 (14.8u, 32.7u), % 7 (13 u, 35 u)),% 8 eye_left); curlers := curlers + 10; % more curliness on top draw puffhair( (13 u, 35 u), % 1 (10 u, 37 u), % 2 ( 6 u, 37 u), % 3 ( 4 u, 35 u), % 4 ( 2.6u, 32 u), % 5 ( 3.3u, 28 u));% 6 curlers := curlers - 10; % back to normal curliness draw postclip( puffhair( ( 3.3u, 28 u), % 1 ( 5.2u, 25.2u), % 2 ( 6.3u, 22.6u), % 3 ( 6.5u, 18.5u), % 4 ( 6.1u, 14.4u), % 5 ( 6.4u, 11.1u), % 6 ( 7.3u, 8.7u), % 7 ( 9.3u, 6 u)),% 8 neck); % And the hairline above her eyes draw postclip( puffhair( ( 9.5u, 9.6u), % 1 ( 9.5u, 12.2u), % 2 (10 u, 14.3u), % 3 (11.7u, 15 u), % 4 (13.8u, 15 u), % 5 (16.5u, 15.2u), % 6 (17.9u, 14.1u), % 7 (18.3u, 12.6u)),% 8 eye_left); % And finally, the eyelashes pickup lashpen; localpath lash; rlash((12.0u, 12.5u), (11.8u, 14.0u), 3); rlash((13.0u, 13.2u), (13.0u, 14.4u), 2); rlash((14.1u, 13.2u), (14.2u, 14.4u),-2); rlash((14.9u, 12.8u), (15.5u, 14.2u),-3); llash((16.5u, 13.4u), (16.6u, 14.3u),-1); llash((17.3u, 13.4u), (17.6u, 14.4u),-2); llash((18.0u, 13.0u), (18.5u, 14.4u),-3); llash((18.7u, 13.0u), (19.6u, 13.9u),-3); eyepos(Marge, 12.5u#, 11.4u#, 16.5u#, 11.7u#); endpicture;