Comment dessiner la spirale de Cornu de différentes manières.
Avec les équations paramétriques de la spirale, en utilisant celles d’Augustin Fresnel :
Sur l'établissement de celles-ci :
On peut opérer de deux façons : soit en utilisant la méthode de Simpson, soit en se servant de tables pré-calculées comme celles de Milton Abramowitz et Irene A. Stegun :
ou de Jean-Paul Vignault :
Les 2 méthodes sont illustrées dans la documentation.
Une autre méthode consiste à se servir des équations différentielles et du package
pst-ode :
Les fichiers sont dans le répertoire :
Le fichier zippé les contient tous. Toutes les références sont indiquées dans la documentation.
On s'intéresse aussi à la représentation en
3D et aux extensions de la spirale de Cornu. Quelques images extraites de la documentation :
Dans son article “Études sur la diffraction ;méthode géométrique pour la discussion des problèmes de diffraction” publié dans le journal de Comptes rendus hebdomadaires des séances de l’Académie des sciences du 12 janvier 1874 :
Marie Alfred Cornu donne une méthode pour calculer et dessiner la spirale qui porte son nom et c’est son dessin qui est à la page (116), que j’ai essayé de reproduire ci-dessous.
Une animation, qui reproduit avec PSTricks celle du site :
https://couleur-science.eu/?d=2016/04/10/22/01/41-la-spirale-deuler-ou-le-trace-des-routes
Le listing avec le package animate :
\documentclass[pstricks]{standalone}
\usepackage{pst-plot}
\pstheader{pst-fresnel-simpson.pro}
\title{Rayon de courbure et cercle osculateur de la spirale de Cornu avec PSTricks et animate}
\date{07 juin 2018}
\author{manuel.luque27@gmail.com}
\begin{document}
\multido{\N=0.1+0.1}{31}{%
\begin{pspicture}(-1,-1)(10.5,10.5)
\psset{unit=10}
\psgrid[subgriddiv=10](0,0)(1,1)
\pstVerb{
/Pi 3.14159265359 def
/FresnelG {dup mul 2 div 180 mul cos} def
/FresnelF {dup mul 2 div 180 mul sin} def
/SpiraleCornuA {%
0 0.02 3.1 {/s exch def
0 s {FresnelG} 1000 simpson
0 s {FresnelF} 1000 simpson
} for
} def
/SpiraleCornuB {%
0 0.01 \N\space {/s exch def
0 s {FresnelG} 1000 simpson
0 s {FresnelF} 1000 simpson
} for
} def
/CentreCourbure {
/nu exch def
/pointSpirale { 0 nu {FresnelG} 1000 simpson
0 nu {FresnelF} 1000 simpson
} def
/radius 1 Pi nu mul div def
/AngleN nu dup mul 2 div 180 mul dup sin neg exch cos exch atan def
/xC radius AngleN cos mul def
/yC radius AngleN sin mul def
} def}%
\listplot[linestyle=dotted,linewidth=2\pslinewidth,linecolor=blue]{SpiraleCornuA}
\listplot[linecolor=blue,linewidth=2\pslinewidth]{SpiraleCornuB}
\multido{\n=0.1+0.1}{9}{\uput[d](\n,0){\footnotesize\n}}
\multido{\n=0.1+0.1}{9}{\uput[l](0,\n){\footnotesize\n}}
\psdot[dotstyle=+](0.5,0.5)
\pstVerb{ \N\space CentreCourbure}%
\rput(! pointSpirale){\psdot(!xC yC)\psline(!xC yC)\pscircle[linecolor=red](!xC yC){!radius}}
\end{pspicture}}
\end{document}
Remarque :
Le fichier `pst-fresnel-simpson.pro' est dans le dossier indiqué au début.