beginfig(1)
    u = 2cm;

    draw (0, 0)--(0, u);
    draw (0, 0)--(0.5u * sqrt(2), 0.5u * sqrt(2));
    draw (0, 0)--(u, 0);
    draw (0, 0)--(0.5u * sqrt(2), -0.5u * sqrt(2));
    draw (0, 0)--(0, -u);
    draw (0, 0)--(-0.5u * sqrt(2), -0.5u * sqrt(2));
    draw (0, 0)--(-u, 0);
    draw (0, 0)--(-0.5u * sqrt(2), 0.5u * sqrt(2));
    draw (0, u)--(0.5u * sqrt(2), 0.5u * sqrt(2))--(u, 0)--(0.5u * sqrt(2), -0.5u * sqrt(2))
            --(0, -u)--(-0.5u * sqrt(2), -0.5u * sqrt(2))--(-u, 0)--(-0.5u * sqrt(2), 0.5u * sqrt(2))
            --cycle;

    dotlabel.top (btex 1 etex, (0, u));
    dotlabel.urt (btex 2 etex, (0.5u * sqrt(2), 0.5u * sqrt(2)));
    dotlabel.rt  (btex 3 etex, (u, 0));
    dotlabel.lrt (btex 4 etex, (0.5u * sqrt(2), -0.5u * sqrt(2)));
    dotlabel.bot (btex 5 etex,  (0, -u));
    dotlabel.llft (btex 6 etex, (-0.5u * sqrt(2), -0.5u * sqrt(2)));
    dotlabel.lft (btex 7 etex,  (-u, 0));
    dotlabel.ulft (btex 8 etex, (-0.5u * sqrt(2), 0.5u * sqrt(2)));
    label.urt (btex 0 etex, (0, 0.1u));
    draw (0, 0);
endfig;

beginfig(2)

    scale := 3;

    draw (0, 0)--(0, u) withpen pencircle scaled scale;
    draw (0, 0)--(0.5u * sqrt(2), 0.5u * sqrt(2)) dashed evenly ;
    draw (0, 0)--(u, 0) dashed evenly;
    draw (0, 0)--(0.5u * sqrt(2), -0.5u * sqrt(2)) dashed evenly;
    draw (0, 0)--(0, -u) withpen pencircle scaled scale;
    draw (0, 0)--(-0.5u * sqrt(2), -0.5u * sqrt(2)) dashed evenly;
    draw (0, 0)--(-u, 0) dashed evenly;
    draw (0, 0)--(-0.5u * sqrt(2), 0.5u * sqrt(2)) withpen pencircle scaled scale;

    draw (0, u)--(0.5u * sqrt(2), 0.5u * sqrt(2)) withpen pencircle scaled scale;
    draw (0.5u * sqrt(2), 0.5u * sqrt(2))--(u, 0) dashed evenly;
    draw (u,0)--(0.5u * sqrt(2), -0.5u * sqrt(2)) withpen pencircle scaled scale;
    draw (0.5u * sqrt(2), -0.5u * sqrt(2))--(0, -u) withpen pencircle scaled scale;
    draw (0,-u)--(-0.5u * sqrt(2), -0.5u * sqrt(2)) withpen pencircle scaled scale;
    draw (-0.5u * sqrt(2), -0.5u * sqrt(2))--(-u, 0) withpen pencircle scaled scale;
    draw (-u,0)--(-0.5u * sqrt(2), 0.5u * sqrt(2)) dashed evenly;
    draw (-0.5u * sqrt(2), 0.5u * sqrt(2))--(0, u) dashed evenly;
endfig;

beginfig(3)

    scale := 3;

    draw (0, 0)--(0, u) withpen pencircle scaled scale;
    draw (0, 0)--(0.5u * sqrt(2), 0.5u * sqrt(2)) dashed evenly ;
    draw (0, 0)--(u, 0) dashed evenly;
    draw (0, 0)--(0.5u * sqrt(2), -0.5u * sqrt(2)) dashed evenly;
    draw (0, 0)--(0, -u) withpen pencircle scaled scale;
    draw (0, 0)--(-0.5u * sqrt(2), -0.5u * sqrt(2)) dashed evenly;
    draw (0, 0)--(-u, 0) dashed evenly;
    draw (0, 0)--(-0.5u * sqrt(2), 0.5u * sqrt(2)) withpen pencircle scaled scale;

    draw (0, u)--(0.5u * sqrt(2), 0.5u * sqrt(2)) withpen pencircle scaled scale;
    draw (0.5u * sqrt(2), 0.5u * sqrt(2))--(u, 0) dashed evenly;
    draw (u,0)--(0.5u * sqrt(2), -0.5u * sqrt(2)) withpen pencircle scaled scale;
    draw (0.5u * sqrt(2), -0.5u * sqrt(2))--(0, -u) withpen pencircle scaled scale;
    draw (0,-u)--(-0.5u * sqrt(2), -0.5u * sqrt(2)) dashed evenly;
    draw (-0.5u * sqrt(2), -0.5u * sqrt(2))--(-u, 0) withpen pencircle scaled scale;
    draw (-u,0)--(-0.5u * sqrt(2), 0.5u * sqrt(2)) dashed evenly;
    draw (-0.5u * sqrt(2), 0.5u * sqrt(2))--(0, u) dashed evenly;
endfig;

end;
