%% auteur : Abidi A. 15 setxunit -8 8 setxrange -8 8 setyrange 0.5 setlinewidth 1 setlinecap %% bouts arrondis des traits /cote_carre 4 def /separation 1 def /arcangleU 10 def %% angle au depart de la fleche /arcangleV 10 def %% oppose de l'angle a l'arrivee de la fleche /nodesep 10 def %% espace en picas separant les points A et B de %% l'extremite de la connexion %% dessin des carrés... 1 0.2 0.2 setrgbcolor /fillstyle {1 0.8 0.8 setrgbcolor fill} def 0 0 cote_carre cote_carre cframe* 0.2 1 0.2 setrgbcolor /fillstyle {0.8 1 0.8 setrgbcolor fill} def cote_carre separation add 0 cote_carre cote_carre cframe* cote_carre separation add neg 0 cote_carre cote_carre cframe* 0.2 0.2 1 setrgbcolor /fillstyle {0.8 0.8 1 setrgbcolor fill} def 0 cote_carre separation add cote_carre cote_carre cframe* 0 cote_carre separation add neg cote_carre cote_carre cframe* noir %% On définit les nodes avec les textes qu'elles contiennent... /U {0 0} def /U_u {0 cote_carre separation add} def /U_d {0 cote_carre separation add neg} def /U_l {cote_carre separation add neg 0} def /U_r {cote_carre separation add 0} def (U) node %% declaration d'un node circulaire (A) \begin{tabular}{c} $u(t+dt)$\\ $x\quad y$ \end{tabular} U cctexlabel (U_u) node %% declaration d'un node circulaire (A) \begin{tabular}{c} $u(t+dt)$\\ $x\quad y+dy$ \end{tabular} U_u cctexlabel (U_d) node %% declaration d'un node circulaire (A) \begin{tabular}{c} $u(t+dt)$\\ $x\quad y-dy$ \end{tabular} U_d cctexlabel (U_l) node %% declaration d'un node circulaire (A) \begin{tabular}{c} $u(t)$\\ $x-dx\quad y$ \end{tabular} U_l cctexlabel (U_r) node %% declaration d'un node circulaire (A) \begin{tabular}{c} $u(t)$\\ $x+dx\quad y$ \end{tabular} U_r cctexlabel %% On met les flèches... /long_fl ahlength xunit div def /diff_hori {360 0.5 div mul sin 0.1 mul} def /diff_vert_X {360 0.5 div mul sin 0.1 mul} def %% fleche droite (U) /cr nodepoint 1 0 scalprod long_fl add (U_r) /cl nodepoint 1 0 scalprod long_fl sub {diff_hori} (-) Courbe [0 10000] 0 setdash [(U) /cr nodepoint 1 0 scalprod 0 (U_r) /cl nodepoint 1 0 scalprod 0] (<->) ligne continu %% fleche gauche (U) /cl nodepoint 1 0 scalprod long_fl sub (U_l) /cr nodepoint 1 0 scalprod long_fl add {diff_hori} (-) Courbe [0 10000] 0 setdash [(U) /cl nodepoint 1 0 scalprod 0 (U_l) /cr nodepoint 1 0 scalprod 0] (<->) ligne continu %% fleche haut (U) /uc nodepoint 0 1 scalprod long_fl add (U_u) /dc nodepoint 0 1 scalprod long_fl sub settrange {diff_vert_X} {} (-) courbeparam [0 10000] 0 setdash [0 (U) /uc nodepoint 0 1 scalprod 0 (U_u) /dc nodepoint 0 1 scalprod] (<->) ligne continu %% fleche bas (U) /dc nodepoint 0 1 scalprod long_fl sub (U_d) /uc nodepoint 0 1 scalprod long_fl add settrange {diff_vert_X} {} (-) courbeparam [0 10000] 0 setdash [0 (U) /dc nodepoint 0 1 scalprod 0 (U_d) /uc nodepoint 0 1 scalprod] (<->) ligne continu