beginfig(1);
u:=5mm;                         % Einheitsl�nge

% Polygon, direkte Punktelisten
draw (6u,0)--(8u,0)--(8u,4u);   % Linie
draw (8u,4u)..(6u,4u)..(6u,0);  % Kurve

% Rechteck und Quadrat, Angabe von Pfadvariablen
path q;                         % Variable Typ Pfad
q := unitsquare;                % Einheitsquadrat
fill q xscaled 4u yscaled 8u withcolor .8white;
draw q scaled 3u shifted (u,u);

% grauer Kreisring
path p[];       % Array vom Typ path
p1 := (3u,0)..(0,3u)..(-3u,0)..(0,-3u)..cycle;
p2 := (2u,0)..(0,2u)..(-2u,0)..(0,-2u)..cycle;
fill p1 shifted (15u,3u) withcolor 0.6white;    % graue Kreisscheibe
unfill p2 shifted(15u,3u);                      % Loch in der Mitte

% Beschriftung
z1=(10u,2u);    % Startpunkte
z2=(10u,6u);
drawarrow z1--(8u,u);
drawarrow z2--(6u,4u);
label.rt("Linie",z1);
label.rt("Kurve",z2);

endfig;
end;