Présentation de geomdiff3D_03.jps

/syracuse/bbgraf/albums/geom3D_02/geomdiff3D_03.jpg
%% auteur : -2 2 setxrange -1.5 1.5 setyrange jpegmode %% Les courbes enveloppe /f {setxvar x Exp x neg Exp add 0.2 mul 0.25 add } def /g { f neg } def %% Définition des ellipses internes /b' {0.5 f} def /a' {0.2} def /b'' {0.8 f} def /a'' {0.2} def /E1 [0.5 0 a' b' 0] def /E2 [0.8 0 a'' b'' 0] def %% la manip pour tracer un trait entre 2 points donnés %% syntaxe : xA yA xB yB trait /trait { %%%% la pile gsave %% 1 dict begin %% pour garder linewidth local .3 setlinewidth %% bleu %% xA, yA, xB, yB [ %% xA, yA, xB, yB, [ 5 1 roll %% [, xA, yA, xB, yB ] %% [xA yA xB yB] ligne %% end grestore } def %% le style pour hachurer les 2 ellipses internes E1 et E2 /fillstyle { gsave .3 setlinewidth gris hachure grestore } def %% on hachure la 1ere ellipse, tour en blanc gsave blanc E1 ellipse* grestore %% on trace les hachures interellipses /nbhachures 60 def gsave [-90 270 nbhachures nto] dup %% on genere 'nbhachure' nombres entre -90 et 270 {E1 epoint} apply %% on genere les points sur E1 exch {E2 epoint} apply %% on genere les points sur E2 2 2 Fuz %% on fusionne les 2 tableaux (2 elements du 1er puis 2 elements du 2eme, etc..) {trait} dapply %% on applique le trait a chaque ensemble de deux points grestore %% on hachure la 2eme ellipse, tour en blanc gsave blanc /hangle 30 def E2 ellipse* grestore 1.5 setlinewidth -1.48 1.48 {f} Courbe -1.48 1.48 {g} Courbe %tracé des ellipses aux extrémités /b {1.48 f} def /a {0.25} def 1.5 0 a b ellipse 90 -90 -1.5 0 a b Ellipse gsave 1 dict begin pointilles .8 setlinewidth -90 90 -1.5 0 a b Ellipse end grestore %% puis trace des ellipses internes 90 -90 E1 Ellipse 90 -90 E2 Ellipse .8 setlinewidth pointilles -90 90 E1 Ellipse -90 90 E2 Ellipse %Tracé du segment fléché "da" /c {b' 0.1 add} def /d {b'' 0.1 add} def /C {0.45 c} def /D {0.8 d} def continu C D (<->) line /I {C D milieu} def /J {0.5 -0.75} def setTimesItalic noir (da) I ultext rouge (dA) J dtext