lundi 15 février 2016

Réflexions multiples d’ondes transversales sur une extrémité libre ou fixe (suite)

Suite de : http://pstricks.blogspot.fr/2016/01/reflexion-dondes-transversales-sur-une.html

Tous les éléments théoriques et les explications sont dans le document "wavemachine-theory.tex"
"wavemachine-theory.pdf", dans le répertoire :

Les animations ont été réalisées avec le package animate :
http://www.ctan.org/pkg/animate 

Voici les 2 animations au format Gif qui sont aussi dans le dossier précédemment cité.:

 



Voici une application à l'ondoscope(échelle de Perroquet), dont l'inventeur est John Shive:
https://en.wikipedia.org/wiki/John_N._Shive
 La revue de l'Union des Physiciens a publié un excellent  article sur l'ondoscope :
http://www.udppc.asso.fr/bupdoc/consultation/article-bup.php?ID_fiche=12393
dans lequel les auteurs démontrent que le mouvement des barreaux correspond à une onde progressive dont ils calculent la vitesse de phase.
Le site de Wikipedia, précédemment cité contient une belle animation de cet appareil, dont le source en Java est sur le site :
http://weelookang.blogspot.fr/2012/08/ejs-open-source-wave-machine-model-java.html

Les animations suivantes ont été réalisées à partir des images obtenues avec PSTricks :

Les fichiers pdf qui contiennent 880 images sont trop lourds pour être placés sur mon serveur, je donne donc les fichiers sources, à compiler suivant la procédure habituelle : LaTeX->dvips->ps2pdf
gif-wavemachine-FE.tex
gif-wavemachine.tex
qui sont dans le doosier indiqué au début :

Ci-dessous le fichier source des éléments théoriques :

\documentclass{article}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[garamond]{mathdesign}
\renewcommand{\ttdefault}{lmtt}
\usepackage{pst-plot,pst-node}
\usepackage{amsmath}
\usepackage{animate}
\newpsstyle{ball}{fillstyle=ccslope,slopebegin=white,slopecenter=0.4 0.6,linestyle=none}
\definecolor{bois}{RGB}{63 34 4}
\parindent0pt
\psset{dimen=middle}
\title{Réflexion d'ondes transversales sur une extrémité libre ou fixe}
\date{28 janvier 2016}
\def\Sawtooth{%
/date exch def
                                 date 0 le {0} if % t<0 br="">                                 
<0 br="">date 0 gt date T1 4 div le and {a1 date mul} if % 0                                 date T1 4 div gt date 3 T1 mul 4 div le and {a1 neg date mul 2 Am mul add} if % T/4                                 date T1 3 mul 4 div gt date  T1 le and {a1 date mul 4 Am mul sub} if % 3T/4                                 date T1 gt {0} if % t>T
}
\def\Sinusoidal{%
/date exch def date 0 le date T1 gt or {0} {Am 360 T1 div date mul sin mul }ifelse  % t<0 ou="" t="">T =>0
}
\def\Gauss{%
/date exch def date 0 le date 2 T1 mul gt or {0} {Am Euler date T1 sub dup mul neg exp mul } ifelse  % t<0 ou="" t="">T =>0
}%
\title{Réflexion d'ondes transversales sur une extrémité libre ou fixe}
\date{15 février 2016}
\begin{document}
\maketitle
On imprime à l'origine du dispositif(corde, ondoscope, ressort,etc.) un mouvement bref : sinusoïdal, en dents de scie ou en cloche(Gauss), comme dans les exemples ci-dessous :
\begin{center}
\begin{minipage}{5.5cm}
\begin{itemize}
  \item $t\leqslant0 \ :\ f(t)=0$
  \item $0  \item $t\geqslant T \ :\ f(t)=0$
\end{itemize}
\end{minipage}
\begin{minipage}{11cm}
\begin{pspicture}(-1,-2)(10,2)
\psgrid[subgriddiv=5,%
      gridlabels=0,%
      gridwidth=1pt,%
      gridcolor=red!20,
    subgridwidth=0.1pt,%
    subgridcolor=gray]
\psset{plotpoints=500,unit=1}
\psaxes{->}(0,0)(0,-1)(10,2)[$t$,0][$y$,0]
\psplot[linecolor=blue]{0}{10}[/T1 2 def /Am 1 def]{x \Sinusoidal}
\end{pspicture}
\end{minipage}
\end{center}
\begin{center}
\begin{minipage}{5.5cm}
\begin{itemize}
  \item $t\leqslant0 \ :\ f(t)=0$
  \item $0  \item $\frac{T}{4}  \item $\frac{3T}{4}  \item $t\geqslant T \ :\ f(t)=0$
\end{itemize}
\end{minipage}
\begin{minipage}{11cm}
\begin{pspicture}(-1,-2)(10,2)
\psset{plotpoints=500,unit=1}
\psgrid[subgriddiv=5,%
      gridlabels=0,%
      gridwidth=1pt,%
      gridcolor=red!20,
    subgridwidth=0.1pt,%
    subgridcolor=gray]
\psaxes{->}(0,0)(0,-1)(10,2)[$t$,0][$y$,0]
\psplot[linecolor=blue]{0}{10}[/T1 2 def /Am 1 def /a1 4 T1 div Am mul def ]{x \Sawtooth}
\end{pspicture}
\end{minipage}
\end{center}
\begin{center}
\begin{minipage}{5.5cm}
\begin{itemize}
  \item $t\leqslant0 \ :\ f(t)=0$
  \item $0  \item $t\geqslant2T \ :\ f(t)=0$
\end{itemize}
\end{minipage}
\begin{minipage}{11cm}
\begin{pspicture}(-1,-2)(10,2)
\psgrid[subgriddiv=5,%
      gridlabels=0,%
      gridwidth=1pt,%
      gridcolor=red!20,
    subgridwidth=0.1pt,%
    subgridcolor=gray]
\psset{plotpoints=500,unit=1}
\psaxes{->}(0,0)(0,-1)(10,2)[$t$,0][$y$,0]
\psplot[linecolor=blue]{0}{10}[/T1 2 def /Am 1 def ]{x \Gauss}
\end{pspicture}
\end{minipage}
\end{center}
On considère l'onde progressive se déplaçant vers la droite de $O$ vers $A$ qui sont les 2 extrémités du milieu de propagation; $O$ est la source de l'onde incidente. En notant $v$ la célérité de l'onde, l'élongation d'un point d'abscisse $x$ à l'instant $t$ se calculera par la relation :
\[
y(x,t)=y\left(0,t-\frac{x}{v}\right)
\]
Lorsque le signal arrive sur l'extrémité $A$, on calcule l'onde réfléchie en imaginant une onde fictive se propageant en sens inverse, de même signe que l'onde incidente si l'extrémité $A$ est libre, de signe contraire si elle est fixe et se superposant à l'onde incidente. Cette onde fictive démarre au même instant que l'onde incidente, mais au point $O_1$ d'abscisse $x_{O_1}=2L$.
\[
y_1(x_1,t)=y\left(0,t-\frac{x_1}{v}\right)\text{ avec } x_1=2L-x
\]
Sur le trajet de retour de $A$ vers $O$, l'élongation d'un point d'abscisse $x$ à l'instant $t$ se calculera par la superposition de ces 2 ondes :
\[
y(x,t)=y\left(0,t-\frac{x}{v}\right)\pm y\left(0,t-\frac{2L-x}{v}\right)
\]
\begin{center}
\begin{pspicture}(-5,-2)(10,2)
\psframe*[linecolor=cyan!20](5,-2)(10,2)
\psframe*[linecolor=cyan!20](0,-2)(-5,2)
\psgrid[subgriddiv=0,gridcolor=black,griddots=10,gridlabels=0pt](-5,-2)(10,2)%
\psset{plotpoints=500,unit=0.5}
\psline{->}(-10,0)(20,0)
\psline{->}(0,-4)(0,4)
\uput[d](20,0){$x$}
\uput[u](0,4){$y$}
\psdots[linecolor=red](10,0)(0,0)
\psplot[linecolor=red]{0}{10}[/T1 2 def /Am 2 def ]{x \Gauss}
\psplot[linecolor=red,linestyle=dashed]{10}{20}[/T1 2 def /Am 2 def ]{20 x sub \Gauss}
\uput[dl](0,0){$O$}\uput[dl](10,0){$A$}
\psline{->}(1,3)(3,3)
\psline{->}(19,3)(17,3)
\psline{<->}(0,-2)(10,-2)\uput[u](5,-2){$L$}
\psline{<->}(0,-3)(20,-3)\uput[u](10,-3){$2L$}
\uput[d](3,0){$x$}\psdot[dotstyle=|](3,0)
\uput[d](17,0){$x_1$}\psdot[dotstyle=|](17,0)
\rput(5,3){\pscirclebox{$t$}}
\uput[0](20,0){$O_1$}
\end{pspicture}
\end{center}
À la fin de ce premier aller-retour, l'onde est réfléchie par l'extrémité $O$. Pour caractériser cette onde réfléchie, on considère que $O$ est une extrémité libre et qu'il existe une deuxième onde fictive qui se déplace dans le sens des $x>0$ : celle-ci démarre au même instant $t=0$ que l'onde initiale mais au point $O_2$ d'abscisse $x_{O_2}=-2L$, son signe dépend de celui de l'onde dans le retour de $A$ vers $O$, c'est-à-dire de même signe que l'onde initiale si $A$ est une extrémité libre et le contraire si $A$ est fixe.
\[
y_2(x_2,t)=y\left(0,t+\frac{x_2}{v}\right)\ \text{ avec }\  x_2=-2L-x
\]
On peut ainsi poursuivre le mouvement, au bout du deuxième trajet de $O$ vers $A$, on imagine qu'il y a une autre onde fictive qui se déplace dans le sens des $x<0 :="" abscisse="" au="" br="" c="" comme="" d="" de="" demment="" elle="" et="" extr="" incidente="" l="" la="" marre="" mit="" nature="" onde="" pend="" point="" pr="" qui="" se="" signe="" son="" superposera="" x_="">\[
y_3(x_3,t)=y\left(0,t-\frac{x_3}{v}\right)\ \text{ avec }\  x_3=4L-x
\]
Sur la portion de l'axe correspondant au milieu réel de propagation, l'onde résultante sera la somme des 4 ondes ainsi définies. On voit qu'on pourrait généraliser à un nombre plus grand d'ondes pour étudier les aller-retour de l'onde progressive pendant une durée plus grande.

Dans cette première animation, l'extrémité $A$ est supposée libre, de même que l'extrémité $O$, après avoir impulsé le mouvement en $O$ cette extrémité est laissée libre, mais on pourrait envisager de la fixer.
\def\nFrames{220}%
\begin{center}
\psset{unit=0.5}
\begin{animateinline}[controls,
                     begin={\begin{pspicture}(-11,-2)(21,2)},
                     end={\end{pspicture}}]{5}% 5 images/s
\multiframe{\nFrames}{rt=0+0.2}{
\psframe*[linecolor=cyan!20](5,-2)(21,2)
\psframe*[linecolor=cyan!20](0,-2)(-11,2)
\psframe*[linecolor=yellow!20](0,-2)(5,2)
\psset{plotpoints=500,unit=0.5}
\psline{->}(-20,0)(41,0)
\psline{->}(0,-4)(0,4)
\uput[u](41,0){$x$}
\uput[l](0,3.5){$y$}
\psdots[linecolor=red](10,0)(0,0)
\uput[-45](10,0){$A$}
\uput[225](0,0){$O$}
\psdots(20,0)(40,0)(-20,0)
\uput[d](20,0){$O_1$}
\uput[d](-20,0){$O_2$}
\uput[d](40,0){$O_3$}
\pstVerb{/ti \rt\space def /Vi 1 def /Li 10 def /T1 2 def /Am 2 def }% 1 aller = 10 s
% onde incidente
\psplot[linecolor=blue]{-22}{20}{ti x Vi div sub \Gauss}
% onde fictive 1 dans le sens des x<0 br="">\psplot[linecolor=green]{-22}{20}{ti 2 Li mul x sub Vi div sub \Gauss}
% onde fictive dans le sens >0
\psplot[linecolor=red]{-22}{30}{ti -2 Li mul x sub Vi div add \Gauss}
% onde fictive 2 dans le sens des x<0 4="" br="" celerity="" div="" longueur="" mul="" sub="" ti="" xp="">\psplot[linecolor=cyan]{-22}{40}{ti 4 Li mul x sub Vi div sub \Gauss}
% onde sur la corde
\psplot[linecolor=magenta,linewidth=0.3]{0}{10}{ti x Vi div sub \Gauss ti 2 Li mul x sub Vi div sub \Gauss add ti -2 Li mul x sub Vi div add \Gauss add ti 4 Li mul x sub Vi div sub \Gauss add}
}
\end{animateinline}
\end{center}
Dans cette deuxième animation, l'extrémité $A$ est supposée fixe.
\begin{center}
\psset{unit=0.5}
\begin{animateinline}[controls,
                     begin={\begin{pspicture}(-11,-2)(21,2)},
                     end={\end{pspicture}}]{5}% 5 images/s
\multiframe{\nFrames}{rt=0+0.2}{
\psframe*[linecolor=cyan!20](5,-2)(21,2)
\psframe*[linecolor=cyan!20](0,-2)(-11,2)
\psframe*[linecolor=yellow!20](0,-2)(5,2)
\psset{plotpoints=500,unit=0.5}
\psline{->}(-20,0)(41,0)
\psline{->}(0,-4)(0,4)
\uput[u](41,0){$x$}
\uput[l](0,3.5){$y$}
\psdots[linecolor=red](10,0)(0,0)
\uput[-45](10,0){$A$}
\uput[225](0,0){$O$}
\psdots(20,0)(40,0)(-20,0)
\uput[d](20,0){$O_1$}
\uput[d](-20,0){$O_2$}
\uput[d](40,0){$O_3$}
\pstVerb{/ti \rt\space def /Vi 1 def /Li 10 def /T1 2 def /Am 2 def }% 1 aller = 10 s
% onde incidente
\psplot[linecolor=blue]{-22}{20}{ti x Vi div sub \Gauss}
% onde fictive 1 dans le sens des x<0 br="">\psplot[linecolor=green]{-22}{20}{ti 2 Li mul x sub Vi div sub \Gauss neg}
% onde fictive dans le sens >0
\psplot[linecolor=red]{-22}{30}{ti -2 Li mul x sub Vi div add \Gauss neg }
% onde fictive 2 dans le sens des x<0 4="" br="" celerity="" div="" longueur="" mul="" sub="" ti="" xp="">\psplot[linecolor=cyan]{-22}{40}{ti 4 Li mul x sub Vi div sub \Gauss}
% onde sur la corde
\psplot[linecolor=magenta,linewidth=0.3]{0}{10}{ti x Vi div sub \Gauss
                                                ti 2 Li mul x sub Vi div sub \Gauss neg add
                                                ti -2 Li mul x sub Vi div add \Gauss neg add
                                                ti 4 Li mul x sub Vi div sub \Gauss add}
}%
\end{animateinline}
\end{center}
\end{document}



Ci-après les fichiers sources des animations de l'ondoscope :

\documentclass{article}
\usepackage[paperwidth=10.5cm,paperheight=6.5cm,hmargin={0cm,0cm},vmargin={0cm,0cm},dvips]{geometry}
\usepackage{pst-plot,pst-node,pst-slpe,pst-3d}
\newpsstyle{ball}{fillstyle=ccslope,slopebegin=white,slopecenter=0.4 0.6,linestyle=none}
\definecolor{bois}{RGB}{63 34 4}
\parindent0pt
\psset{dimen=middle}
\title{Réflexion d'ondes transversales sur une extrémité libre ou fixe}
\date{28 janvier 2016}
\def\Sawtooth{%
/date exch def
                                 date 0 le {0} if % t<0 br="">                                 date 0 gt date T1 4 div le and {a1 date mul} if % 0                                 date T1 4 div gt date 3 T1 mul 4 div le and {a1 neg date mul 2 Am mul add} if % T/4                                 date T1 3 mul 4 div gt date  T1 le and {a1 date mul 4 Am mul sub} if % 3T/4                                 date T1 gt {0} if % t>T
}
\def\Sinusoidal{%
/date exch def date 0 le date T1 gt or {0} {Am 360 T1 div date mul sin mul }ifelse  % t<0 ou="" t="">T =>0
}
\def\Gauss{%
/date exch def date 0 le date 2 T1 mul gt or {0} {Am Euler date T1 sub dup mul neg exp mul } ifelse  % t<0 ou="" t="">T =>0
}%
\pagestyle{empty}
\begin{document}
\begin{center}
\psset{viewpoint=1 1 0.5}
\def\nFrames{880}%
\multido{\rt=0+0.05}{\nFrames}{%
\begin{pspicture}(-2,-4)(8.5,2.5)
\psframe(-2,-4)(8.5,2.5)
\ThreeDput[normal=0 0 1](0,0,-1.2){%
\psframe[fillstyle=solid,fillcolor=green!20](-1,0)(1,10)}
\ThreeDput[normal=1 0 0](0,0,0){%
% les axes
    \psline{->}(0,0)(11,0)
    \psline[linecolor=cyan](0,0)(10,0)
    \uput[0](11,0){$y$}
    \psline{->}(0,0)(0,2)
    \uput[90](0,2){$z$}
    \psline[linewidth=0.1](0,-1.2)
    \psline[linewidth=0.1](10,0)(10,-1.2)}
\ThreeDput[normal=0 1 0](0,0,0){%
\psline{->}(0,0)(-2,0)\uput[90](-2,0){$x$}
}%
\multido{\rx=0+0.25}{41}{%
\pstVerb{/T1 2 def % p\'{e}riode :
         /celerity 1 def   %
         /Longueur 10 def
% 5xT1 pour parcourir la longueur
         /Am 45 def % amplitude maximale en degrés
         /a1 4 T1 div Am mul def % pente pour le signal en dents de scie
         /ti \rt\space def
         /xP \rx\space def
% description du signal initial
         /Signal {\Gauss} def % {\Sawtooth } def
% signal incident
        /AngleRotationI {ti xP celerity div sub Signal} def
% signal réfléchi au bout du premier trajet sur l'extrémité A
       /AngleRotation-R1  {ti 2 Longueur mul xP sub celerity div sub Signal} def
% le - indique la propagation dans le sens -
% signal réfléchi au bout du premier aller-retour sur l'extrémité O supposée libre
       /AngleRotation+R2 {ti -2 Longueur mul xP sub celerity div add Signal} def
% le + indique la propagation dans le sens +
% signal réfléchi au deuxième aller-retour sur l'extrémité A
       /AngleRotation-R2  {ti 4 Longueur mul xP sub celerity div sub Signal} def
% signe résultant dans le cas où l'extrémité est fixe
      /AngleRotation {AngleRotationI  AngleRotation-R1 sub AngleRotation+R2 sub AngleRotation-R2 add} def
    }%
\ThreeDput[normal=0 1 0](0,\rx,0){%
\rput{!AngleRotation}{\pnode(1,0){A1}\pnode(-1,0){A2}}%{\tige}%
}%
\psline[linewidth=0.05,linecolor=bois](A1)(A2)
\pscircle[style=ball,slopeend=red](A1){0.1}%
\pscircle[style=ball,slopeend=blue](A2){0.1}}
\end{pspicture}\newpage
}
\end{center}
\end{document}


\documentclass{article}
\usepackage[paperwidth=10.5cm,paperheight=6.5cm,hmargin={0cm,0cm},vmargin={0cm,0cm},dvips]{geometry}
\usepackage{pst-plot,pst-node,pst-slpe,pst-3d}
\newpsstyle{ball}{fillstyle=ccslope,slopebegin=white,slopecenter=0.4 0.6,linestyle=none}
\definecolor{bois}{RGB}{63 34 4}
\parindent0pt
\psset{dimen=middle}
\title{Réflexion d'ondes transversales sur une extrémité libre ou fixe}
\date{28 janvier 2016}
\def\Sawtooth{%
/date exch def
                                 date 0 le {0} if % t<0 br="">                                 date 0 gt date T1 4 div le and {a1 date mul} if % 0                                 date T1 4 div gt date 3 T1 mul 4 div le and {a1 neg date mul 2 Am mul add} if % T/4                                 date T1 3 mul 4 div gt date  T1 le and {a1 date mul 4 Am mul sub} if % 3T/4                                 date T1 gt {0} if % t>T
}
\def\Sinusoidal{%
/date exch def date 0 le date T1 gt or {0} {Am 360 T1 div date mul sin mul }ifelse  % t<0 ou="" t="">T =>0
}
\def\Gauss{%
/date exch def date 0 le date 2 T1 mul gt or {0} {Am Euler date T1 sub dup mul neg exp mul } ifelse  % t<0 ou="" t="">T =>0
}%
\pagestyle{empty}
\begin{document}
\begin{center}
\psset{viewpoint=1 1 0.5}
\def\nFrames{880}%
\multido{\rt=0+0.05}{\nFrames}{%
\begin{pspicture}(-2,-4)(8.5,2.5)
\psframe(-2,-4)(8.5,2.5)
\ThreeDput[normal=0 0 1](0,0,-1.2){%
\psframe[fillstyle=solid,fillcolor=green!20](-1,0)(1,10)}
\ThreeDput[normal=1 0 0](0,0,0){%
% les axes
    \psline{->}(0,0)(11,0)
    \psline[linecolor=cyan](0,0)(10,0)
    \uput[0](11,0){$y$}
    \psline{->}(0,0)(0,2)
    \uput[90](0,2){$z$}
    \psline[linewidth=0.1](0,-1.2)
    \psline[linewidth=0.1](10,0)(10,-1.2)}
\ThreeDput[normal=0 1 0](0,0,0){%
\psline{->}(0,0)(-2,0)\uput[90](-2,0){$x$}
}%
\multido{\rx=0+0.25}{41}{%
\pstVerb{/T1 2 def % p\'{e}riode :
         /celerity 1 def   %
         /Longueur 10 def
% 5xT1 pour parcourir la longueur
         /Am 45 def % amplitude maximale en degrés
         /a1 4 T1 div Am mul def % pente pour le signal en dents de scie
         /ti \rt\space def
         /xP \rx\space def
% description du signal initial
         /Signal {\Gauss} def % {\Sawtooth } def
% signal incident
        /AngleRotationI {ti xP celerity div sub Signal} def
% signal réfléchi au bout du premier trajet sur l'extrémité libre
       /AngleRotation-R1  {ti 2 Longueur mul xP sub celerity div sub Signal} def
% le - indique la propagation dans le sens -
% signal réfléchi au bout du premier aller-retour sur l'extrémité O supposée libre
       /AngleRotation+R2 {ti -2 Longueur mul xP sub celerity div add Signal} def
% le + indique la propagation dans le sens +
% signal réfléchi au deuxième aller-retour sur l'extrémité libre
       /AngleRotation-R2  {ti 4 Longueur mul xP sub celerity div sub Signal} def
% signe résultant
      /AngleRotation {AngleRotationI  AngleRotation-R1 add AngleRotation+R2 add AngleRotation-R2 add} def
    }%
\ThreeDput[normal=0 1 0](0,\rx,0){%
\rput{!AngleRotation}{\pnode(1,0){A1}\pnode(-1,0){A2}}%{\tige}%
}%
\psline[linewidth=0.05,linecolor=bois](A1)(A2)
\pscircle[style=ball,slopeend=red](A1){0.1}%
\pscircle[style=ball,slopeend=blue](A2){0.1}}
\end{pspicture}\newpage
}
\end{center}
\end{document}



Aucun commentaire:

Enregistrer un commentaire