%autocrop
15 setxunit
%quadrillage marks
-22 8 setxrange
-8 17 setyrange
%% le plan de base
/P1 {-9 -5} def
/P2 {4 -7} def
/P3 {8.5 0} def
/o {0 0 0} def
/i {0 0 7} def
/o' {0 0 14} def
/M {-12 0} def
/N {-7 -3} def
/vect_I {15 cos 15 sin} def
/vect_J {135 cos 135 sin .8 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
[/I /O /O']
[i o o'] {xyz2xy} capply
mapnp
/r1 6 def
/r2 1.5 def
/ell [O r1 r2 0] def
/ell' [O' r1 r2 0] def
0 ell epoint /A defpoint
0 ell' epoint /A' defpoint
180 ell epoint /B defpoint
180 ell' epoint /B' defpoint
/les_points [] def
/les_points_bis [] def
/manip {
i M N xdpoint /K defpoint
O K ell interdroiteell /k defpoint /k' defpoint
O O' k paral I K interdroite /K' defpoint
O O' k' paral I K interdroite /K" defpoint
/les_points [les_points aload pop K'] store
/les_points_bis [les_points_bis aload pop K"] store
/i i 1 add store
orange
[k' K K"] ligne
[k K'] ligne
[k' K"] ligne
noir
[K K' K"] {times2} plot
} def
gsave
.8 setlinewidth
pointilles
/i -30 def
29 {manip} repeat
/i 1 def
grestore
/dotscale {2 dup} def
[I O O'] {times} plot
.8 setlinewidth
/fillstyle {.9 setgray fill} def
/arg {argc} def
[
[les_points aload pop
les_points_bis aload pop
les_points 0 getp
]
{1 1} papply
aload pop pop pop
]
draw
1.2 setlinewidth
-180 0 ell Ellipse
ell' ellipse
[A A'] ligne
[B B'] ligne
-6 M N ydpoint
xmin M N xdpoint
1 trait
gsave
.8 setlinewidth
pointilles
0 180 ell Ellipse
[O O'] ligne
grestore
2 setlinewidth
[-12 P2 P1 xdpoint P2 P3] ligne
12 setfontsize
setTimesItalic
(I) I drtext
(O) O drtext
(O') O' drtext
(d) 4 M N ydpoint dltext
% (M) M dltext
% (N) N dltext
|