u = 0.5cm;

ahlength := 3mm;
ahangle := 30;

beginfig(1)

pickup pencircle scaled 1pt;

draw (-5u, 0u)--(5u, 0u);
draw (-5*sqrt(1/2)*u, -5*sqrt(1/2)*u)--(5*sqrt(1/2)*u, 5*sqrt(1/2)*u);
draw (-5*sqrt(1/2)*u, 5*sqrt(1/2)*u)--(5*sqrt(1/2)*u, -5*sqrt(1/2)*u);
draw (0u, -5u)--(0u, 5u);

pickup pencircle scaled 2.5pt;

drawarrow (-4u, 0u)--(-2.5pt, 0u);
drawarrow (0u, 0u)--(4u, 0u) dashed evenly;
drawarrow (0u, 0u)--(0u, 4u);

pickup pencircle scaled 0.75pt;

drawdblarrow (0u, 3u){dir 0}..{dir -90}(3u, 0u);
label.ulft(btex $90^\circ$ etex, (4u, 1u));

endfig;


beginfig(2)

pickup pencircle scaled 1pt;

draw (-5u, 0u)--(5u, 0u);
draw (-5*sqrt(1/2)*u, -5*sqrt(1/2)*u)--(5*sqrt(1/2)*u, 5*sqrt(1/2)*u);
draw (-5*sqrt(1/2)*u, 5*sqrt(1/2)*u)--(5*sqrt(1/2)*u, -5*sqrt(1/2)*u);
draw (0u, -5u)--(0u, 5u);

pickup pencircle scaled 2.5pt;

drawarrow (-4u, 0u)--(-2.5pt, 0u);
drawarrow (0u, 0u)--(4u, 0u) dashed evenly;
drawarrow (0u, 0u)--(4*sqrt(1/2)*u, 4*sqrt(1/2)*u);

pickup pencircle scaled 0.75pt;

drawdblarrow (3*sqrt(1/2)*u, 3*sqrt(1/2)*u){dir -45}..{dir -90}(3u, 0u);
label.ulft(btex $45^\circ$ etex, (4u, 1u));

endfig;

beginfig(3)

pickup pencircle scaled 1pt;

draw (-5u, 0u)--(5u, 0u);
draw (-5*sqrt(1/2)*u, -5*sqrt(1/2)*u)--(5*sqrt(1/2)*u, 5*sqrt(1/2)*u);
draw (-5*sqrt(1/2)*u, 5*sqrt(1/2)*u)--(5*sqrt(1/2)*u, -5*sqrt(1/2)*u);
draw (0u, -5u)--(0u, 5u);

pickup pencircle scaled 2.5pt;

drawarrow (-4u, 0u)--(-2.5pt, 0u);
drawarrow (0u, 0u)--(4u, 0u) dashed evenly;
drawarrow (0u, 0u)--(-4*sqrt(1/2)*u, -4*sqrt(1/2)*u);

pickup pencircle scaled 0.75pt;

drawdblarrow (-3*sqrt(1/2)*u, -3*sqrt(1/2)*u){dir -45}..{dir 90}(3u, 0u);
label.lrt(btex $135^\circ$ etex, (3u, -1u));

endfig;

beginfig(4)

pickup pencircle scaled 1pt;

u := 1cm;

draw (-5u, 0u)--(5u, 0u);
draw (-5u, 2u)--(5u, 2u);
draw (4u, -2u)--(-2u, 4u);

pickup pencircle scaled 2.5pt;

drawarrow (-3u, 0u)--(2u, 0u);
drawarrow (2u, 0u)--(0u, 2u);
drawarrow (0u, 2u)--(3u, 2u);

pickup pencircle scaled 4pt;

drawdot (-3u, 0u);
drawdot (3u, 2u);

endfig;


end