\section {Courbes de fonction numériques et courbes paramétrées}

\subsection {Courbe de fonction numérique}

L'objet \Cadre{courbe} permet d'obtenir le tracé de la courbe d'une
fonction numérique dont le nom est passée \textsl{via\/} l'argument
\Cadre{function}. Cette fonction à valeurs dans \textbf{R} ayant été
préalablement définie avec la macro \verb+\defFunction+ vue plus avant
dans ce guide. 

On pourra donc définir cette fonction, soit en notation algébrique
avec l'option  \Cadre{[algebraic]}, soit en notation polonaise
inversée (langage postscript), avec une variable quelconque
$(x,u,t\ldots)$, par une expression de la forme suivant le cas~: 

\begin{gbar}
\begin{verbatim} 
\defFunction[algebraic]{nom_fonction}(x){x*sin(x)}{}{}
\end{verbatim}  
\end{gbar}

\begin{gbar}
\begin{verbatim} 
\defFunction{nom_fonction}(x){x dup sin mul}{}{}
\end{verbatim}  
\end{gbar}

Cette expression dans doit être incluse dans l'environnement
\Cadre{pspicture}.

Les limites de la variable sont définies dans l'option
\Cadre{range=$xmin$ $xmax$}, et l'option \Cadre{resolution=$n$} permet
de préciser le nombre de points calculés pour le dessin de la courbe.

\begin{multicols}{2}

\begin{pspicture}(-3,-3)(4,3.5)%
\psframe*[linecolor=blue!50](-3,-3)(4,3.5)
\psset{lightsrc=50 20 20,viewpoint=50 30 15,Decran=60}
\psset{solidmemory}
\defFunction[algebraic]{1_sin}(x){2*sin(1/x)}{}{}
\psSolid[object=grille,
   base=-3 0 -3 3,
   linewidth=0.5\pslinewidth,linecolor=gray,]
%% definition du plan de projection
\psSolid[object=plan,
   definition=equation,
   args={[1 0 0 0] 90},
   base=-3.2 3.2 -2.2 2.2,
   planmarks,
   showBase,
   name=monplan,
]
\psset{plan=monplan}
\psSolid[object=plan,
   args=monplan,
   linecolor=gray!40,
   plangrid,
   action=none,
]
\psProjection[object=courbe,
   linecolor=red,
   range=-3 3,resolution=720,
   function=1_sin,
]
\composeSolid
\axesIIID(4,2,2)(5,4,3)
\end{pspicture}

\columnbreak

\begin{gbar}
\begin{verbatim}
\defFunction[algebraic]{1_sin}(x)
   {2*sin(1/x)}{}{}
\psset{plan=monplan}
...
\psProjection[object=courbe,linecolor=red,
   range=-3 3,resolution=720,function=1_sin]
\end{verbatim}
\end{gbar}
\vskip -10mm

\end{multicols}


\subsection {Courbes paramétrées}

La technique est analogue, à la différence près que la fonction
évoquée est à valeurs dans $R^2$, et que l'objet passé en paramètre à
\verb+\psProjection+ est \Cadre{courbeR2}.

Pour dessiner un cercle de rayon $3$, on  écrira :

\begin{gbar}
\begin{verbatim} 
\defFunction[algebraic]{cercle}(t){3*cos(t)}{3*sin(t)}{}
\end{verbatim}  
\end{gbar}

Autre exemple : les courbes de Lissajous.


\begin{multicols}{2}

\begin{pspicture}(-3,-3)(4,3.5)%
\psframe*[linecolor=blue!50](-3,-3)(4,3.5)
\psset{lightsrc=50 20 20,viewpoint=50 30 15,Decran=60}
\psset{solidmemory}
\defFunction[algebraic]{F}(t){2*sin(0.57735*t)}{2*sin(0.707*t)}{}
\psSolid[object=grille,
   base=-3 0 -3 3,
   linewidth=0.5\pslinewidth,linecolor=gray,]
%% definition du plan de projection
\psSolid[object=plan,
   definition=equation,
   args={[1 0 0 0] 90},
   base=-3.2 3.2 -2.2 2.2,
   name=monplan,
   planmarks,
   showBase,
]
\psset{plan=monplan}
\psSolid[object=plan,
   args=monplan,
   linecolor=gray!40,
   plangrid,
   action=none,
]
\psProjection[object=courbeR2,
   range=-25.12 25.12,resolution=720,
   normal=1 1 2,linecolor=red,
   function=F,
]
\composeSolid
\axesIIID(4,2,2)(5,4,3)
\end{pspicture}

\columnbreak

\begin{gbar}
\begin{verbatim}
\defFunction[algebraic]{F}(t)
   {2*sin(0.57735*t)}
   {2*sin(0.707*t)}
   {}
\psset{plan=monplan}
...
\psProjection[object=courbeR2,
   range=-25.12 25.12,resolution=720,
   normal=1 1 2,linecolor=red,
   function=F,
]
\end{verbatim}
\end{gbar}

\end{multicols}

