%autocrop 50 setxunit %quadrillage marks -1 6 setxrange -1 4 setyrange /l 8 def /a {0 0 0} def /b {4 0 0} def /c {4 4 0} def /d {0 4 0} def /e {0 0 2} def /f {4 0 2} def /g {4 4 2} def /h {0 4 2} def /z {1.5} def /vect_I {1 0} def /vect_J {50 dup cos 2 1 roll sin .4 mulv} def /vect_K {0 1} def %% [O vect_I] (->) ligne %% [O vect_J] (->) ligne %% [O vect_K] (->) ligne /xyz2xy { 3 dict begin /z exch def /y exch def /x exch def vect_I x mulv vect_J y mulv vect_K z mulv addv addv end } def [/A /B /C /D /E /F /G /H ] [a b c d e f g h ] {xyz2xy} capply mapnp /dotscale {2 dup} def 1.2 setlinewidth [A B F E A] ligne [E H G F] ligne [B C G] ligne gsave .8 setlinewidth pointilles [A D C] ligne [H D] ligne grestore 12 setfontsize setTimesItalic (A) A [z dup] dltext (B) B [z dup] drtext (C) C [z dup] drtext (D) D [z dup] bltext (E) E [z dup] bltext (F) F [z dup] ultext (G) G [z dup] urtext (H) H [z dup] ultext