Fichier 3D_58d.jps — Modifié le 8 Janvier 2008 à 11 h 37

3D_58d.pdf
Source
autocrop
15 setxunit
%quadrillage marks
-22 8 setxrange
-8 18 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
   30 {manip} repeat
   /i 1 def
%   40 {manip} repeat
%   /i -10 store manip
grestore

/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*

/dotscale {2 dup} def
[I O O'] {times} plot
.8 setlinewidth

1.2 setlinewidth
-180 0 ell Ellipse
ell' ellipse
[A A'] ligne
[B B'] ligne
M N 1.5 hompoint N 1.2 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) 2 M N ydpoint urtext
%   (M) M dltext   
%   (N) N dltext