400 setheight
800 setwidth
-6 12 setxrange
-4.5 4.5 setyrange
/l 5 def
/L 10 def
/o {0 0 0} def
/i {1 0 0} def
/j {0 1 0} def
/k {0 0 1} def
/a {-1 -1 0} def
/b {-1 L 0} def
/c {l L 0} def
/d {l -1 0} def
/vect_I {-135 cos -135 sin} def
/vect_J {-5 cos -5 sin 1 mulv} def
/vect_K {0 1} def
/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
[/O /I /J /K /A /B /C /D]
[o i j k a b c d] {xyz2xy} capply
mapnp
O I A B interdroite O 1.2 hompoint /Im defpoint
O I C D interdroite O 1.2 hompoint /IM defpoint
O J A D interdroite O 1.2 hompoint /Jm defpoint
O J C B interdroite O 1.1 hompoint /JM defpoint
/KM {0 4} def
-2 O K ydpoint /Km defpoint
2 setlinewidth
[B C D] ligne
.8 setlinewidth
[B A D] ligne
%% graduations sur les axes
[1 -.1 0 1 .1 0] {xyz2xy} capply ligne
[-.1 1 0 .1 1 0] {xyz2xy} capply ligne
[0 -.1 1 0 .1 1] {xyz2xy} capply ligne
1 setlinewidth
[Im IM] ligne
[Jm JM] ligne
[O KM] ligne
/arrowscale {.5 dup} def
gsave
IM stranslate
O I angle rotate
arrow
grestore
gsave
JM stranslate
O J angle rotate
arrow
grestore
gsave
KM stranslate
O K angle rotate
arrow
grestore
.8 setlinewidth
gsave
pointilles
[Km O] ligne
grestore
12 setfontsize
setTimesItalic
(O) O ultext
(x) IM (5 0) brtext
(y) JM (0 -2) dltext
(z) KM drtext
/vadjust 7 def
/hadjust 7 def
setCourrier
(1) I (-2 1) bltext
(1) J urtext
(1) K (-2 0) bltext
|