%% ABCD est un tetraedre regulier de cote a 
%% A' est le centre de gravite de BCD
%% G est le milieu de [AA']
%% Pi est le plan médiateur de [AA']
%% S est la sphere de centre G et de rayon (\sqrt 12)/12
%% 
%% * question 1 : intersection de Pi avec le tetraedre
%% * question 2 : intersection de la sphere S avec Pi
%% nota : ici, on prend a = k \sqrt 3
%% dessin pour l'exercice 121 page ? du livre Term S, editions ??,
%% année ??
autocrop
%quadrillage marks
20 setxunit
-18 10 setxrange
-7.5 14.5 setyrange
/k 8 def
/a {k 0 0} def    
/b {-.5 k mul 3 sqrt 2 div k mul 0} def    
/c {-.5 k mul 3 sqrt -2 div k mul 0} def    
/d {0 0 2 sqrt k mul} def    
%% /vect_I {-120 cos -120 sin .7 mul} def
%% /vect_J {0 cos 0 sin 1 mulv} def
%% /vect_K {0 1} def
/vect_I {-10 cos -10 sin} def
/vect_J {40 cos 40 sin .8 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] 
[a b c d] {xyz2xy} capply
mapnp
B C milieu D C D milieu B interdroite /A' defpoint
A A' milieu /G defpoint
A B .55 hompoint /I defpoint
A C milieu /J defpoint
A D milieu /K defpoint
%% syntaxe : A A' Vecteur
/Vecteur {
6 dict begin
   /z' exch def
   /y' exch def
   /x' exch def
   /z exch def
   /y exch def
   /x exch def
   x' x sub
   y' y sub
   z' z sub
end
} def
%% syntaxe u v Addv --> u+v
/Addv {
6 dict begin
   /z' exch def
   /y' exch def
   /x' exch def
   /z exch def
   /y exch def
   /x exch def
   x' x add
   y' y add
   z' z add
end
} def
%% syntaxe : v alpha Mulv --> alpha u
/Mulv {
4 dict begin
   /alpha exch def
   /z exch def
   /y exch def
   /x exch def
   alpha x mul
   alpha y mul
   alpha z mul
end
} def
%% syntaxe : v Norme --> |u|
/Norme {
3 dict begin
   /z exch def
   /y exch def
   /x exch def
   x dup mul
   y dup mul add
   z dup mul add
   sqrt
end
} def
/Milieu {
6 dict begin
   /z' exch def
   /y' exch def
   /x' exch def
   /z exch def
   /y exch def
   /x exch def
   x' x add 2 div
   y' y add 2 div
   z' z add 2 div
end
} def
c c b d Milieu Vecteur 2 3 div Mulv Addv /a' defcercle
a a' Vecteur
/_c exch def
/_b exch def
/_a exch def
%% repere du plan mediateur de [AA']
_b neg _a _c 
dupc Norme 1 exch div Mulv
/v  defcercle
   _b _c mul _a _c mul sub
   _b _c mul neg _a _c mul sub
   _a dup mul _b dup mul add
dupc Norme 1 exch div Mulv
/w defcercle
/fillstyle {.9 setgray fill} def
gsave
   .8 setlinewidth
   mixte
   [I J K] polygone*
   pointilles
   [A B C] ligne
   [B D] ligne
   [A A'] ligne
%%    .4 setgray
%%    mixte
%%    [C D B milieu] ligne
%%    [B C D milieu] ligne
grestore
a a a' Vecteur .5 Mulv Addv /g defcercle
[a' g] {xyz2xy} capply {times2} plot
/arg {argc} def
%% /ang 0 def
%% /mon_rayon k 2.1 div def
%% [
%% [
%% 61 {
%%    g v ang cos Mulv mon_rayon Mulv Addv w ang sin Mulv mon_rayon Mulv Addv 
%% %   g v ang cos Mulv Addv w ang sin Mulv Addv
%%    /ang ang 360 60 div add store
%% } repeat
%% ] {xyz2xy} capply {1 1} papply 
%% aload pop pop pop] draw
/mon_rayon k 2.05 div def
/ang 60 def
/manip {
1 dict begin
   /ang exch def
   g v ang cos Mulv mon_rayon Mulv Addv 
   w ang sin Mulv mon_rayon Mulv Addv
   xyz2xy
end
} def
[
[
0 manip
10 manip
20 manip
30 manip
40 manip
50 manip
%60 manip
%70 manip
K
%80 manip
%90 manip
100 manip
120 manip
130 manip
140 manip
150 manip
160 manip
170 manip
%180 manip
%190 manip
I
%200 manip
%220 manip
230 manip
240 manip
250 manip
260 manip
%270 manip
%280 manip
J
%300 manip
%320 manip
330 manip
340 manip
350 manip
0 manip
]
{1 1} papply 
aload pop pop pop] draw
1.2 setlinewidth
%[G A B C D A'] {times2} plot
[A C D] polygone
/dotscale {2 dup} def
12 setfontsize
setTimesItalic
   (A) A drtext   
   (B) B urtext	  
   (C) C dltext	  
   (D) D urtext	  
   (A') A' ultext	  
   (G) G dltext	  
   (I) I (3 1) crtext	  
   (J) J dltext	  
   (K) K (-3 0) urtext	  
   
 
 
 |