dimanche 10 janvier 2016

Pantographe : Bart x 3


Les fichiers : LaTeX, pdf et datas de Bart (bart-pantographe.zip) sont dans l'archive :

 En utilisant \pscircle au lieu de \psdot pour dessiner les axes et les trous, ceux-ci semblent mieux rester à leurs places respectives sur les réglettes.
(pantographe-bart2.zip) est dans l'archive ci-dessus.

 En voici le code le reste est sans changement :

\documentclass{article}
% (-4,-1)(10,7)
\usepackage[paperwidth=14cm,paperheight=9cm,hmargin={0cm,0cm},vmargin={0cm,0cm},dvips]{geometry}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[garamond]{mathdesign}
\usepackage{pst-node,pst-math,pst-plot}
\definecolor{bois}{rgb}{0.75,0.63,0.52}
%\definecolor{bois}{rgb}{0.9,0.8,0.71}
%\definecolor{nervures}{rgb}{0.62,0.165,0.025}
\definecolor{nervures}{rgb}{0.75,0.63,0.52}
\def\DATASESPARLUETTE{% & avec la translation (1 -0.5) et la réduction (0.2)
         /dat0 [(bart-0-114.dat) run]{0.2 mulv} papply2d {1 -0.5 addv} papply2d def
         /dat1 [(bart-1-17.dat) run] {0.2 mulv} papply2d {1 -0.5 addv} papply2d def
         /dat2 [(bart-2-19.dat) run] {0.2 mulv} papply2d {1 -0.5 addv} papply2d def
         /dat3 [(bart-3-31.dat) run] {0.2 mulv} papply2d {1 -0.5 addv} papply2d def
         /dat4 [(bart-4-28.dat) run]{0.2 mulv} papply2d {1 -0.5 addv} papply2d def
         /dat5 [(bart-5-17.dat) run] {0.2 mulv} papply2d {1 -0.5 addv} papply2d def
         /dat6 [(bart-6-33.dat) run] {0.2 mulv} papply2d {1 -0.5 addv} papply2d def
         /dat7 [(bart-7-17.dat) run]{0.2 mulv} papply2d {1 -0.5 addv} papply2d def
         /dat8 [(bart-8-9.dat) run] {0.2 mulv} papply2d {1 -0.5 addv} papply2d def
         /dat9 [(bart-9-9.dat) run] {0.2 mulv} papply2d {1 -0.5 addv} papply2d def
         /dat10 [(bart-10-15.dat) run] {0.2 mulv} papply2d {1 -0.5 addv} papply2d def
         /dat11 [(bart-11-17.dat) run] {0.2 mulv} papply2d {1 -0.5 addv} papply2d def
         /dat0' dat0 {Coeff mulv} papply2d def
         /dat1' dat1 {Coeff mulv} papply2d def
         /dat2' dat2 {Coeff mulv} papply2d def
         /dat3' dat3 {Coeff mulv} papply2d def
         /dat4' dat4 {Coeff mulv} papply2d def
         /dat5' dat5 {Coeff mulv} papply2d def
         /dat6' dat6 {Coeff mulv} papply2d def
         /dat7' dat7 {Coeff mulv} papply2d def
         /dat8' dat8 {Coeff mulv} papply2d def
         /dat9' dat9 {Coeff mulv} papply2d def
         /dat10' dat10 {Coeff mulv} papply2d def
         /dat11' dat11 {Coeff mulv} papply2d def
}%
\def\reglette{\psframe[framearc=1,fillstyle=solid,fillcolor=bois,linecolor=black,linewidth=0.01]%
                       (! L_ 2 div neg 0.2 sub -.15)(! L_ 2 div 0.2 add .15)
%              \psdots[dotstyle=o,dotscale=1.25](!L_ 0.5 0.5 sub mul neg 0)
%                                               (!L_ 0.5 0.5 sub mul neg 0)
%                                               (!L_ 0.5 0.3333 sub mul neg 0)
%                                               (!L_ 0.5 0.25 sub mul neg 0)
%                                               (!L_ 0.5 0.2 sub mul neg 0)
\multido{\i=1+1}{4}{%
    \pscircle[fillstyle=solid,linewidth=0.5\pslinewidth](!L_ 0.5 0.5 \i\space div sub mul neg 0){0.075}}}%
\def\code#1{
/Coeff 3 def % facteur d'agrandissement
%% macro pst-solides3d.pro
%%%%% ### mulv ###
%% syntaxe : u a mulv --> au
/mulv {   %% xA, yA, a
   dup          %% xA, yA, a, a
   3 1 roll     %% xA, a, yA, a
   mul 3 1 roll %% ayA, xA, a
   mul exch
} def
%%%%% ### addv ###
%% syntaxe : u v addv --> u+v
/addv {         %% xA yA xB yB
   3 1 roll     %% xA yB yA xB
   4 1 roll     %% xB xA yB yA
   add 3 1 roll %% yB+yA xB xA
   add exch
} def
%%%%% ### papply2D ###
%% syntaxe : [A1 ... An] {f} papply2d --> [f(A1) ... f(An)]
/papply2d {
3 dict begin
   /fonction exch def
   /liste exch def
   /i 0 def
   [
   liste length 2 idiv {
      liste i get
      liste i 1 add get
      fonction
      /i i 2 add store
   } repeat
   counttomark
   0 eq
      {pop}
      {]}
   ifelse
end
} def
\DATASESPARLUETTE
% les trous pour les facteurs 2 3 4
% OA=AM' triangle isocèle
/L_ 5 def % AB=l1 OA=L_
/l2 L_ Coeff div def
/l1 L_ l2 sub def
/Contour2 #1 def
Contour2 {Coeff mulv} papply2d /Contour2' exch def
%/l2 L_ l1 sub def %  BM=l2
% OBM triangle isocèle
% MCM' triangle isocèle
%/xM 2.75 def /yM 0 def
/xM Contour2 \i\space get def
/yM Contour2 \i\space 1 add get def
/OM xM dup mul yM dup mul add sqrt def
%/Coeff L_ l2 div def
/x' Coeff xM mul def
/y' Coeff yM mul def
/OH x' dup mul y' dup mul add sqrt 2 div def
OH L_ ge {/OH L_ def}if
/alpha OH L_ div acos def
/beta yM xM atan def
/gamma alpha beta add def
/delta 180 alpha sub beta add def
/xA L_ gamma cos mul def
/yA L_ gamma sin mul def
/xB xA Coeff div def
/yB yA Coeff div def
/xC xA x' xA sub Coeff div add def
/yC yA y' yA sub Coeff div add def
/uxMB xB xM sub l2 div def
/uyMB yB yM sub l2 div def
/xB' xB uxMB l1 mul add def
/yB' yB uyMB l1 mul add def
/uxOA xA L_ div def
/uyOA yA L_ div def
/xC' xC uxOA l2 mul add def
/yC' yC uyOA l2 mul add def
% les milieux des barres
% réglette OA = n°1
/xM1 xA 2 div def /yM1 yA 2 div def
% réglette AM' = n°2
/xM2 xA x' add 2 div def
/yM2 yA y' add 2 div def
% réglette MB' = n°3
/xM3 xM xB' add 2 div def
/yM3 yM yB' add 2 div def
% réglette MC' = n°4
/xM4 xM xC' add 2 div def
/yM4 yM yC' add 2 div def
 }
\begin{document}
\begin{center}
% le dessin initial
\multido{\i=0+1}{5}{
\begin{pspicture}(-4,-2)(10,7)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt]%%
\psframe(-4,-2)(10,7)
\rput(3,6.5){\huge Pantographe : Bart $\times3$}
\pstVerb{\code{dat3}}%
\listplot[fillstyle=solid,fillcolor=yellow]{dat0 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat3 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat4 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\multido{\I=0+1}{10}{%
\listplot{dat\I\space aload pop}}%
\end{pspicture}\newpage}
% le contour du visage
\def\nFrames{114}%
\multido{\i=0+2}{\nFrames}{%
\begin{pspicture}(-4,-2)(10,7)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt]%
\psframe(-4,-2)(10,7)
\rput(3,6.5){\huge Pantographe : $\times3$}
\pstVerb{\code{dat0}}%
\pnode(! xA yA){A}
\pnode(!xB yB){B}
\pnode(!xB' yB'){B'}
\pnode(!xC yC){C}
\pnode(!xC' yC'){C'}
\pnode(!xM yM){M}
\pnode(!x' y'){M'}
\pnode(!xM1 yM1){M1}
\pnode(!xM2 yM2){M2}
\pnode(!xM3 yM3){M3}
\pnode(!xM4 yM4){M4}
\pnode(0,0){O}
% ventouse
\pscircle[fillstyle=solid,fillcolor=cyan!10,linewidth=0.01](0,0){0.5}
\listplot[fillstyle=solid,fillcolor=yellow]{dat0 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat3 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat4 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\multido{\I=0+1}{10}{%
\listplot{dat\I\space aload pop}}%
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\listplot[linecolor=red]{Contour2' 0 2 getinterval aload pop 2 copy Contour2' 0 \i\space 2 add getinterval aload pop}
\rput{!gamma}(M1){\reglette}
\rput{!delta}(M3){\reglette}
\rput{!delta 180 add}(M2){\reglette}% le stylo
\rput{!gamma 180 add}(M4){\reglette}
% les trous aux extrémités des réglettes
\psset{fillstyle=solid,linewidth=0.5\pslinewidth}
\pscircle(0,0){0.075}\pscircle(A){0.075}
\pscircle[fillcolor=blue](O){0.075}
\pscircle[fillcolor=blue](A){0.075}
\pscircle[fillcolor=blue](B){0.075}
\pscircle[fillcolor=blue](C){0.075}
\pscircle[fillcolor=red](M'){0.075}
\pscircle[fillcolor=red](M){0.075}
\end{pspicture}\newpage
}%
% l'oeil gauche
\multido{\i=0+2}{17}{%
\begin{pspicture}(-4,-2)(10,7)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt]%
\psframe(-4,-2)(10,7)
\rput(3,6.5){\huge Pantographe : $\times3$}
\pstVerb{\code{dat1}}%
\pnode(! xA yA){A}
\pnode(!xB yB){B}
\pnode(!xB' yB'){B'}
\pnode(!xC yC){C}
\pnode(!xC' yC'){C'}
\pnode(!xM yM){M}
\pnode(!x' y'){M'}
\pnode(!xM1 yM1){M1}
\pnode(!xM2 yM2){M2}
\pnode(!xM3 yM3){M3}
\pnode(!xM4 yM4){M4}
\pnode(0,0){O}
% ventouse
\pscircle[fillstyle=solid,fillcolor=cyan!10,linewidth=0.01](0,0){0.5}
\listplot[fillstyle=solid,fillcolor=yellow]{dat0 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat3 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat4 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\multido{\I=0+1}{10}{%
\listplot{dat\I\space aload pop}}%
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\listplot[linecolor=red]{dat0' aload pop}
\listplot[linecolor=red]{Contour2' 0 2 getinterval aload pop 2 copy Contour2' 0 \i\space 2 add getinterval aload pop}
\rput{!gamma}(M1){\reglette}
\rput{!delta}(M3){\reglette}
\rput{!delta 180 add}(M2){\reglette}% le stylo
\rput{!gamma 180 add}(M4){\reglette}
% les trous aux extrémités des réglettes
\psset{fillstyle=solid,linewidth=0.5\pslinewidth}
\pscircle(0,0){0.075}\pscircle(A){0.075}
\pscircle[fillcolor=blue](O){0.075}
\pscircle[fillcolor=blue](A){0.075}
\pscircle[fillcolor=blue](B){0.075}
\pscircle[fillcolor=blue](C){0.075}
\pscircle[fillcolor=red](M){0.075}
\pscircle[fillcolor=red](M'){0.075}
\end{pspicture}\newpage
}%
% l'oeil droit
\multido{\i=0+2}{19}{
\begin{pspicture}(-4,-2)(10,7)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt]%%
\psframe(-4,-2)(10,7)
\rput(3,6.5){\huge Pantographe : $\times3$}
\pstVerb{\code{dat2}}%
\pnode(! xA yA){A}
\pnode(!xB yB){B}
\pnode(!xB' yB'){B'}
\pnode(!xC yC){C}
\pnode(!xC' yC'){C'}
\pnode(!xM yM){M}
\pnode(!x' y'){M'}
\pnode(!xM1 yM1){M1}
\pnode(!xM2 yM2){M2}
\pnode(!xM3 yM3){M3}
\pnode(!xM4 yM4){M4}
\pnode(0,0){O}
% ventouse
\pscircle[fillstyle=solid,fillcolor=cyan!10,linewidth=0.01](0,0){0.5}
\listplot[fillstyle=solid,fillcolor=yellow]{dat0 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat3 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat4 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\multido{\I=0+1}{10}{%
\listplot{dat\I\space aload pop}}%
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\listplot[linecolor=red]{dat0' aload pop}
\listplot[linecolor=red]{dat1' aload pop}
\listplot[linecolor=red]{Contour2' 0 2 getinterval aload pop Contour2' 0 \i\space 2 add getinterval aload pop}
\rput{!gamma}(M1){\reglette}
\rput{!delta}(M3){\reglette}
\rput{!delta 180 add}(M2){\reglette}% le stylo
\rput{!gamma 180 add}(M4){\reglette}
% les trous aux extrémités des réglettes
\psset{fillstyle=solid,linewidth=0.5\pslinewidth}
\pscircle(0,0){0.075}\pscircle(A){0.075}
\pscircle[fillcolor=blue](O){0.075}
\pscircle[fillcolor=blue](A){0.075}
\pscircle[fillcolor=blue](B){0.075}
\pscircle[fillcolor=blue](C){0.075}
\pscircle[fillcolor=red](M){0.075}
\pscircle[fillcolor=red](M'){0.075}
\end{pspicture}\newpage
}%
% verre lunette gauche
\multido{\i=0+2}{31}{
\begin{pspicture}(-4,-2)(10,7)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt]%%
\psframe(-4,-2)(10,7)
\rput(3,6.5){\huge Pantographe : $\times3$}
\pstVerb{\code{dat3}}%
\pnode(! xA yA){A}
\pnode(!xB yB){B}
\pnode(!xB' yB'){B'}
\pnode(!xC yC){C}
\pnode(!xC' yC'){C'}
\pnode(!xM yM){M}
\pnode(!x' y'){M'}
\pnode(!xM1 yM1){M1}
\pnode(!xM2 yM2){M2}
\pnode(!xM3 yM3){M3}
\pnode(!xM4 yM4){M4}
\pnode(0,0){O}
% ventouse
\pscircle[fillstyle=solid,fillcolor=cyan!10,linewidth=0.01](0,0){0.5}
\listplot[fillstyle=solid,fillcolor=yellow]{dat0 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat3 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat4 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\multido{\I=0+1}{10}{%
\listplot{dat\I\space aload pop}}%
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\listplot[linecolor=red]{dat0' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat1' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat2' aload pop}
\listplot[linecolor=red]{Contour2' 0 2 getinterval aload pop Contour2' 0 \i\space 2 add getinterval aload pop}
\rput{!gamma}(M1){\reglette}
\rput{!delta}(M3){\reglette}
\rput{!delta 180 add}(M2){\reglette}% le stylo
\rput{!gamma 180 add}(M4){\reglette}
% les trous aux extrémités des réglettes
\psset{fillstyle=solid,linewidth=0.5\pslinewidth}
\pscircle(0,0){0.075}\pscircle(A){0.075}
\pscircle[fillcolor=blue](O){0.075}
\pscircle[fillcolor=blue](A){0.075}
\pscircle[fillcolor=blue](B){0.075}
\pscircle[fillcolor=blue](C){0.075}
\pscircle[fillcolor=red](M){0.075}
\pscircle[fillcolor=red](M'){0.075}
\end{pspicture}\newpage
}%
% verre lunette gauche
\multido{\i=0+2}{28}{
\begin{pspicture}(-4,-2)(10,7)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt]%%
\psframe(-4,-2)(10,7)
\rput(3,6.5){\huge Pantographe : $\times3$}
\pstVerb{\code{dat4}}%
\pnode(! xA yA){A}
\pnode(!xB yB){B}
\pnode(!xB' yB'){B'}
\pnode(!xC yC){C}
\pnode(!xC' yC'){C'}
\pnode(!xM yM){M}
\pnode(!x' y'){M'}
\pnode(!xM1 yM1){M1}
\pnode(!xM2 yM2){M2}
\pnode(!xM3 yM3){M3}
\pnode(!xM4 yM4){M4}
\pnode(0,0){O}
% ventouse
\pscircle[fillstyle=solid,fillcolor=cyan!10,linewidth=0.01](0,0){0.5}
\listplot[fillstyle=solid,fillcolor=yellow]{dat0 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat3 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat4 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\multido{\I=0+1}{10}{%
\listplot{dat\I\space aload pop}}%
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\listplot[linecolor=red]{dat0' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat1' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat2' aload pop}
\listplot[linecolor=red]{dat3' aload pop}
\listplot[linecolor=red]{Contour2' 0 2 getinterval aload pop Contour2' 0 \i\space 2 add getinterval aload pop}
\rput{!gamma}(M1){\reglette}
\rput{!delta}(M3){\reglette}
\rput{!delta 180 add}(M2){\reglette}% le stylo
\rput{!gamma 180 add}(M4){\reglette}
% les trous aux extrémités des réglettes
\psset{fillstyle=solid,linewidth=0.5\pslinewidth}
\pscircle(0,0){0.075}\pscircle(A){0.075}
\pscircle[fillcolor=blue](O){0.075}
\pscircle[fillcolor=blue](A){0.075}
\pscircle[fillcolor=blue](B){0.075}
\pscircle[fillcolor=blue](C){0.075}
\pscircle[fillcolor=red](M){0.075}
\pscircle[fillcolor=red](M'){0.075}
\end{pspicture}\newpage
}%
% nez
\multido{\i=0+2}{17}{
\begin{pspicture}(-4,-2)(10,7)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt]%%
\psframe(-4,-2)(10,7)
\rput(3,6.5){\huge Pantographe : $\times3$}
\pstVerb{\code{dat5}}%
\pnode(! xA yA){A}
\pnode(!xB yB){B}
\pnode(!xB' yB'){B'}
\pnode(!xC yC){C}
\pnode(!xC' yC'){C'}
\pnode(!xM yM){M}
\pnode(!x' y'){M'}
\pnode(!xM1 yM1){M1}
\pnode(!xM2 yM2){M2}
\pnode(!xM3 yM3){M3}
\pnode(!xM4 yM4){M4}
\pnode(0,0){O}
% ventouse
\pscircle[fillstyle=solid,fillcolor=cyan!10,linewidth=0.01](0,0){0.5}
\listplot[fillstyle=solid,fillcolor=yellow]{dat0 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat3 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat4 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\multido{\I=0+1}{10}{%
\listplot{dat\I\space aload pop}}%
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\listplot[linecolor=red]{dat0' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat1' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat2' aload pop}
\listplot[linecolor=red]{dat3' aload pop}
\listplot[linecolor=red]{dat4' aload pop}
\listplot[linecolor=red]{Contour2' 0 2 getinterval aload pop Contour2' 0 \i\space 2 add getinterval aload pop}
\rput{!gamma}(M1){\reglette}
\rput{!delta}(M3){\reglette}
\rput{!delta 180 add}(M2){\reglette}% le stylo
\rput{!gamma 180 add}(M4){\reglette}
% les trous aux extrémités des réglettes
\psset{fillstyle=solid,linewidth=0.5\pslinewidth}
\pscircle(0,0){0.075}\pscircle(A){0.075}
\pscircle[fillcolor=blue](O){0.075}
\pscircle[fillcolor=blue](A){0.075}
\pscircle[fillcolor=blue](B){0.075}
\pscircle[fillcolor=blue](C){0.075}
\pscircle[fillcolor=red](M){0.075}
\pscircle[fillcolor=red](M'){0.075}
\end{pspicture}\newpage
}%
% contour externe de l'oreille
\multido{\i=0+2}{33}{
\begin{pspicture}(-4,-2)(10,7)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt]%%
\psframe(-4,-2)(10,7)
\rput(3,6.5){\huge Pantographe : $\times3$}
\pstVerb{\code{dat6}}%
\pnode(! xA yA){A}
\pnode(!xB yB){B}
\pnode(!xB' yB'){B'}
\pnode(!xC yC){C}
\pnode(!xC' yC'){C'}
\pnode(!xM yM){M}
\pnode(!x' y'){M'}
\pnode(!xM1 yM1){M1}
\pnode(!xM2 yM2){M2}
\pnode(!xM3 yM3){M3}
\pnode(!xM4 yM4){M4}
\pnode(0,0){O}
% ventouse
\pscircle[fillstyle=solid,fillcolor=cyan!10,linewidth=0.01](0,0){0.5}
\listplot[fillstyle=solid,fillcolor=yellow]{dat0 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat3 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat4 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\multido{\I=0+1}{10}{%
\listplot{dat\I\space aload pop}}%
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\listplot[linecolor=red]{dat0' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat1' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat2' aload pop}
\listplot[linecolor=red]{dat3' aload pop}
\listplot[linecolor=red]{dat4' aload pop}
\listplot[linecolor=red]{dat5' aload pop}
\listplot[linecolor=red]{Contour2' 0 2 getinterval aload pop Contour2' 0 \i\space 2 add getinterval aload pop}
\rput{!gamma}(M1){\reglette}
\rput{!delta}(M3){\reglette}
\rput{!delta 180 add}(M2){\reglette}% le stylo
\rput{!gamma 180 add}(M4){\reglette}
% les trous aux extrémités des réglettes
\psset{fillstyle=solid,linewidth=0.5\pslinewidth}
\pscircle(0,0){0.075}\pscircle(A){0.075}
\pscircle[fillcolor=blue](O){0.075}
\pscircle[fillcolor=blue](A){0.075}
\pscircle[fillcolor=blue](B){0.075}
\pscircle[fillcolor=blue](C){0.075}
\pscircle[fillcolor=red](M){0.075}
\pscircle[fillcolor=red](M'){0.075}
\end{pspicture}\newpage
}%
% contour interne de l'oreille
\multido{\i=0+2}{17}{
\begin{pspicture}(-4,-2)(10,7)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt]%%
\psframe(-4,-2)(10,7)
\rput(3,6.5){\huge Pantographe : $\times3$}
\pstVerb{\code{dat7}}%
\pnode(! xA yA){A}
\pnode(!xB yB){B}
\pnode(!xB' yB'){B'}
\pnode(!xC yC){C}
\pnode(!xC' yC'){C'}
\pnode(!xM yM){M}
\pnode(!x' y'){M'}
\pnode(!xM1 yM1){M1}
\pnode(!xM2 yM2){M2}
\pnode(!xM3 yM3){M3}
\pnode(!xM4 yM4){M4}
\pnode(0,0){O}
% ventouse
\pscircle[fillstyle=solid,fillcolor=cyan!10,linewidth=0.01](0,0){0.5}
\listplot[fillstyle=solid,fillcolor=yellow]{dat0 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat3 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat4 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\multido{\I=0+1}{10}{%
\listplot{dat\I\space aload pop}}%
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\listplot[linecolor=red]{dat0' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat1' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat2' aload pop}
\listplot[linecolor=red]{dat3' aload pop}
\listplot[linecolor=red]{dat4' aload pop}
\listplot[linecolor=red]{dat5' aload pop}
\listplot[linecolor=red]{dat6' aload pop}
\listplot[linecolor=red]{Contour2' 0 2 getinterval aload pop Contour2' 0 \i\space 2 add getinterval aload pop}
\rput{!gamma}(M1){\reglette}
\rput{!delta}(M3){\reglette}
\rput{!delta 180 add}(M2){\reglette}% le stylo
\rput{!gamma 180 add}(M4){\reglette}
% les trous aux extrémités des réglettes
\psset{fillstyle=solid,linewidth=0.5\pslinewidth}
\pscircle(0,0){0.075}\pscircle(A){0.075}
\pscircle[fillcolor=blue](O){0.075}
\pscircle[fillcolor=blue](A){0.075}
\pscircle[fillcolor=blue](B){0.075}
\pscircle[fillcolor=blue](C){0.075}
\pscircle[fillcolor=red](M){0.075}
\pscircle[fillcolor=red](M'){0.075}
\end{pspicture}\newpage
}%
% coin de la bouche
\multido{\i=0+2}{9}{
\begin{pspicture}(-4,-2)(10,7)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt]%%
\psframe(-4,-2)(10,7)
\rput(3,6.5){\huge Pantographe : $\times3$}
\pstVerb{\code{dat8}}%
\pnode(! xA yA){A}
\pnode(!xB yB){B}
\pnode(!xB' yB'){B'}
\pnode(!xC yC){C}
\pnode(!xC' yC'){C'}
\pnode(!xM yM){M}
\pnode(!x' y'){M'}
\pnode(!xM1 yM1){M1}
\pnode(!xM2 yM2){M2}
\pnode(!xM3 yM3){M3}
\pnode(!xM4 yM4){M4}
\pnode(0,0){O}
% ventouse
\pscircle[fillstyle=solid,fillcolor=cyan!10,linewidth=0.01](0,0){0.5}
\listplot[fillstyle=solid,fillcolor=yellow]{dat0 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat3 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat4 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\multido{\I=0+1}{10}{%
\listplot{dat\I\space aload pop}}%
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\listplot[linecolor=red]{dat0' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat1' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat2' aload pop}
\listplot[linecolor=red]{dat3' aload pop}
\listplot[linecolor=red]{dat4' aload pop}
\listplot[linecolor=red]{dat5' aload pop}
\listplot[linecolor=red]{dat6' aload pop}
\listplot[linecolor=red]{dat7' aload pop}
\listplot[linecolor=red]{Contour2' 0 2 getinterval aload pop Contour2' 0 \i\space 2 add getinterval aload pop}
\rput{!gamma}(M1){\reglette}
\rput{!delta}(M3){\reglette}
\rput{!delta 180 add}(M2){\reglette}% le stylo
\rput{!gamma 180 add}(M4){\reglette}
% les trous aux extrémités des réglettes
\psset{fillstyle=solid,linewidth=0.5\pslinewidth}
\pscircle(0,0){0.075}\pscircle(A){0.075}
\pscircle[fillcolor=blue](O){0.075}
\pscircle[fillcolor=blue](A){0.075}
\pscircle[fillcolor=blue](B){0.075}
\pscircle[fillcolor=blue](C){0.075}
\pscircle[fillcolor=red](M){0.075}
\pscircle[fillcolor=red](M'){0.075}
\end{pspicture}\newpage
}% bouche
\multido{\i=0+2}{9}{
\begin{pspicture}(-4,-2)(10,7)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt]%%
\psframe(-4,-2)(10,7)
\rput(3,6.5){\huge Pantographe : $\times3$}
\pstVerb{\code{dat9}}%
\pnode(! xA yA){A}
\pnode(!xB yB){B}
\pnode(!xB' yB'){B'}
\pnode(!xC yC){C}
\pnode(!xC' yC'){C'}
\pnode(!xM yM){M}
\pnode(!x' y'){M'}
\pnode(!xM1 yM1){M1}
\pnode(!xM2 yM2){M2}
\pnode(!xM3 yM3){M3}
\pnode(!xM4 yM4){M4}
\pnode(0,0){O}
% ventouse
\pscircle[fillstyle=solid,fillcolor=cyan!10,linewidth=0.01](0,0){0.5}
\listplot[fillstyle=solid,fillcolor=yellow]{dat0 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat3 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat4 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\multido{\I=0+1}{10}{%
\listplot{dat\I\space aload pop}}%
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\listplot[linecolor=red]{dat0' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat1' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat2' aload pop}
\listplot[linecolor=red]{dat3' aload pop}
\listplot[linecolor=red]{dat4' aload pop}
\listplot[linecolor=red]{dat5' aload pop}
\listplot[linecolor=red]{dat6' aload pop}
\listplot[linecolor=red]{dat7' aload pop}
\listplot[linecolor=red]{dat8' aload pop}
\listplot[linecolor=red]{Contour2' 0 2 getinterval aload pop Contour2' 0 \i\space 2 add getinterval aload pop}
\rput{!gamma}(M1){\reglette}
\rput{!delta}(M3){\reglette}
\rput{!delta 180 add}(M2){\reglette}% le stylo
\rput{!gamma 180 add}(M4){\reglette}
% les trous aux extrémités des réglettes
\psset{fillstyle=solid,linewidth=0.5\pslinewidth}
\pscircle(0,0){0.075}\pscircle(A){0.075}
\pscircle[fillcolor=blue](O){0.075}
\pscircle[fillcolor=blue](A){0.075}
\pscircle[fillcolor=blue](B){0.075}
\pscircle[fillcolor=blue](C){0.075}
\pscircle[fillcolor=red](M){0.075}
\pscircle[fillcolor=red](M'){0.075}
\end{pspicture}\newpage
}%
% le dessin final
\multido{\i=0+2}{9}{
\begin{pspicture}(-4,-2)(10,7)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt]%%
\psframe(-4,-2)(10,7)
\rput(3,6.5){\huge Pantographe : Bart $\times3$}
\pstVerb{\code{dat3}}%
\listplot[fillstyle=solid,fillcolor=yellow]{dat0 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat3 aload pop}
\listplot[fillstyle=solid,fillcolor=white]{dat4 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat1 aload pop}
\listplot[fillstyle=solid,fillcolor=black]{dat2 aload pop}
\multido{\I=0+1}{10}{%
\listplot{dat\I\space aload pop}}%
\listplot[linecolor=red]{dat0' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat1' aload pop}
\listplot[linecolor=red,fillstyle=solid,fillcolor=red]{dat2' aload pop}
\listplot[linecolor=red]{dat3' aload pop}
\listplot[linecolor=red]{dat4' aload pop}
\listplot[linecolor=red]{dat5' aload pop}
\listplot[linecolor=red]{dat6' aload pop}
\listplot[linecolor=red]{dat7' aload pop}
\listplot[linecolor=red]{dat8' aload pop}
\listplot[linecolor=red]{dat9' aload pop}
\end{pspicture}\newpage}
\end{center}
\end{document}


Aucun commentaire:

Enregistrer un commentaire