\documentclass{article}
\usepackage[a4paper,height=28cm]{geometry}
\usepackage[latin1]{inputenc}
\usepackage{pst-plot}
\input pst-key.tex
\makeatletter
\define@key{psset}{V}{\edef\psk@interferences@V{#1}}
\define@key{psset}{f}{\edef\psk@interferences@F{#1}}
\define@key{psset}{date}{\edef\psk@interferences@date{#1}}
\define@key{psset}{pixel}{\edef\psk@interferences@pixel{#1}}
\define@key{psset}{XS1}{\edef\psk@interferences@SourceA{#1}}
\define@key{psset}{XS2}{\edef\psk@interferences@SourceB{#1}}
\define@key{psset}{phase1}{\edef\psk@interferences@phaseA{#1}}
\define@key{psset}{phase2}{\edef\psk@interferences@phaseB{#1}}
\define@key{psset}{aS1}{\edef\psk@interferences@aA{#1}}
\define@key{psset}{aS2}{\edef\psk@interferences@aB{#1}}
\define@key{psset}{xlimite}{\edef\psk@interferences@xlimite{#1}}
\define@key{psset}{ylimite}{\edef\psk@interferences@ylimite{#1}}
\define@key{psset}{amortissement}{\edef\psk@interferences@amortissement{#1}}
\setkeys{psset}{V=0.20,f=20,date=0.20,pixel=1,XS1=-2,XS2=2, phase1=0,phase2=0,xlimite=5,ylimite=5,amortissement=2, aS1=1,aS2=1}
\def\PSTinterferences{\pst@object{PSTinterferences}}
\def\PSTinterferences@i{\@ifnextchar[{\PSTinterferences@do}{\PSTinterferences@do[]}}
\def\PSTinterferences@do[#1]{{\pst@killglue
\setkeys{psset}{#1}\begin@OpenObj
\addto@pscode{ 0 0 translate
/frequency \psk@interferences@F\space def
/celerity \psk@interferences@V\space def
/pixel \psk@interferences@pixel\space def
/date \psk@interferences@date\space def
/xS1 \psk@interferences@SourceA\space 100 div def /xS2 \psk@interferences@SourceB\space 100 div def /phase1 \psk@interferences@phaseA\space def /phase2 \psk@interferences@phaseB\space def /CoeffAmplitude1 \psk@interferences@aA\space def /CoeffAmplitude2 \psk@interferences@aB\space def /AmplitudeMax 0.5 pixel 2845 div sqrt mul def
/xLimite \psk@interferences@xlimite\space 28.45 mul def /yLimite \psk@interferences@ylimite\space 28.45 mul def /BETA \psk@interferences@amortissement\space def xLimite neg pixel xLimite { /abscissept exch def /abscisse abscissept 2845 div def yLimite neg pixel yLimite { /ordonneept exch def /ordonnee ordonneept 2845 div def /d1 abscisse xS1 sub dup mul
ordonnee dup mul add sqrt def
/d2 abscisse xS2 sub dup mul
ordonnee dup mul add sqrt def
/yS1 360 frequency mul date d1 celerity div sub mul phase1 add sin
0.5 mul CoeffAmplitude1 mul def
/yS2 360 frequency mul date d2 celerity div sub mul phase2 add sin
0.5 mul CoeffAmplitude2 mul def
/yR yS1 yS2 add def
yR 1 add 2 div setgray
newpath
abscissept ordonneept pixel 0 360 arc closepath fill stroke
} for
} for
}\end@OpenObj
}}
\makeatother
\pagestyle{empty}
\title{Interf\'erences à la surface d'une cuve à ondes}
\author{Manuel Luque}
\date{29 mai 2002}
\begin{document}
\maketitle
\thispagestyle{empty}
Il s'agit de reproduire la figure d'interférences obtenue à la surface d'une cuve à
ondes. C'est une photographie à un instant donné de cette surface.
Les paramètres que l'on peut fixer sont les suivants :
\begin{itemize}
\item La vitesse des ondes \verb+V+ en $\mathrm{m.s^{-1}}$ ($\mathrm{0.2\ m.s^{-1}}$).
\item La fréquence des vibrations \verb+f+ en Hz (f=20 Hz).
\item La position des sources $\mathrm{S_1}$ et $\mathrm{S_2}$
par leurs abscisses respectives : \verb+XS1+ et \verb+XS2+ en
cm ($\mathrm{XS1=-2\ cm}$, $\mathrm{XS2=2\ cm}$).
\item La date de l'observation : \verb+date+ en s (date=0.20 s).
\item On peut déphaser les sources en leur attribuant une phase
à l'origine (en degrés) par l'intermédiaire des paramètres :
\begin{itemize}
\item \verb+phase1=+$\cdots$
\item \verb+phase2=+$\cdots$
\end{itemize}
\item les amplitudes des vibrations peuvent être différentes, en
modifiant la valeur de paramètres suivants :
\begin{itemize}
\item \verb+aS1+
\item \verb+aS2+
\end{itemize}
Avec une valeur comprise entre 0 et 1. Par défaut ces deux valeurs
sont égales à 1. En prenant pour l'une des valeurs 0, on se place
dans le cas d'une onde unique.
\end{itemize}
Les valeurs entre parenthèses sont les valeurs définies par
défaut.
La finesse du dessin se détermine avec \verb+pixel+ en points.
Le cadre a été limité à un carré de 10~cm$\times$10~cm, mais ces
limites peuvent être modifiées par l'intermédiaire des paramètres :
\begin{itemize}
\item \verb+xlimite+
\item \verb+ylimite+
\end{itemize}
Ces valeurs étant données en cm, le cadre sera délimité par les
coins : $\mathrm{(-xlimite,-ylimite)(+xlimite,+ylimite)}$.
\begin{center}
\begin{pspicture}(-5,-5)(5,5)
\PSTinterferences[pixel=0.5,date=0.21,V=0.234,f=18,xlimite=8,XS1=-4,XS2=4]\end{pspicture}
\end{center}
\verb+\PSTinterferences[pixel=0.5,date=0.21,V=0.234,f=18,xlimite=8,XS1=-4,XS2=4]+\begin{center}
\begin{pspicture}(-5,-5)(5,5)
\PSTinterferences[pixel=0.5,date=0.21,V=0.234,f=18,xlimite=8,XS1=-4,XS2=4, aS1=0]\end{pspicture}
\end{center}
\verb+\PSTinterferences[pixel=0.5,date=0.21,V=0.234,f=18,xlimite=8,XS1=-4,XS2=4,aS1=0]+\end{document}