%TITRE{Documentation du package courbescp.mp (Metapost).} TAG:1 FICHIER:doccourbescp1.tex: Ce package a pour but d'aider les utilisateurs de Metapost à décrire facilement les tracés de courbes en coordonnées cartésiennes, polaires ou les courbes paramétrées.\\Je tiens particulièrement à remercier Jacques Marot et Jean-michel Sarlat pour leurs idées et aides apportées lors de la conception de ce fichier. § M:texel: fichier="doccourbescp1" patron="base1" %S{Commandes} TAG:2 FICHIER:doccourbescp2.tex: Avant de rentrer de plein pied dans la documentation de ce package, il convient de préciser que toutes les coordonnées, sauf indication contraire, données le sont dans, ce que j'appellerai, {\em le repère absolu} qui est le repère orthonormé de Metapost d'unité $1\,cm$. \par Pour tracer des courbes à l'aide de ce package, la structure des figures Metapost doit être celle de la figure ci-dessous. \par\begin{verbatim} beginfig(1); depart((0,0),(20,20),(10,5),1,2); ... endfig; \end{verbatim} \par Elle signifie : \begin{itemize} \item La figure sera limitée par un cadre rectangulaire dont le sommet inférieur gauche a pour coordonnées $(0;0)$ et le sommet supérieur droit $(20;20)$; \item L'origine du repère des tracés aura pour coordonnées $(10;5)$; \item Les unités seront sur l'axe des abscisses $1\,cm$ et sur l'axe des ordonnées $2\,cm$. \end{itemize} \par{\bf Attention}, cet appel \verb+depart(...)+ est {\em indispensables} à la bonne réalisation des figures. § M:texel: fichier="doccourbescp2" patron="base1" %S{Commandes de traçage} TAG:3 FICHIER:doccourbescp3.tex: Elles sont très simples : \begin{description} \item[Courbes en coordonnées cartésiennes] : \verb!draw courbe2(0,5,100,3*(x**2)-4*x+1) ...! va tracer la courbe \verb+Cb2+\footnote{La numérotation est présente pour un éventuel appel de cette courbe par la suite. Elle est également à l'appréciation de l'utilisateur} d'équation $y=3x^2-4x+1$ pour l'écriture mathématique des fonctions avec Metapost.} sur l'intervalle $[0,5]$ avec 100 points de traçage. \item[Courbes en coordonées polaires] : \verb!draw polaire5(0,2*pi,100,1+cos(theta)) ...! va tracer la courbe \verb+Cpo5+ d'équation $\rho=1+\cos\theta$ pour theta variant sur l'intervalle $[0,2\pi]$ avec 100 points de traçage. \item[Courbes paramétrées cartésiennes] : \verb+draw param2(0,2*pi,100,(sin(t)**3,cos(t)**3))...+ va tracer la courbe \verb!Cpa2! définie par $$\left\{\begin{tabular}{l} $x(t)=\sin^3(t)$\\ $y(t)=\cos^3(t)$\\ \end{tabular} \right. $$ pour le paramètre $t$ variant de $0$ à $2\pi$ avec 100 points de traçage. \item[Courbes paramétrées polaires] : \verb+draw polaireparam2(0,2*pi,100,((pi/2)*cos(t),sin(t)))+ va tracer la courbe \verb!Cpopa2! définie par $$\left\{\begin{tabular}{l} $\rho(t)=\displaystyle\frac{\pi}{2}\cos t$\\ $\theta(t)=\sin t$\\ \end{tabular} \right. $$ pour le paramètre $t$ variant de $0$ à $2\pi$ avec 100 points de traçage. \end{description} § M:texel: fichier="doccourbescp3" patron="base1" %S{Remarque} TAG:4 FICHIER:doccourbescp4.tex: Pour chacun des types de fonctions, les \og{}paramètres\fg{} sont les mêmes : une courbe en coordonnées cartésiennes s'écrira toujours avec \verb+x+; une courbe en coordonnées polaires s'écrira toujours avec \verb!theta! et une courbe paramétrée s'écrira toujours avec \verb!t!. \par Et ce, même s'il y a plusieurs courbes de même nature sur le graphique. § M:texel: fichier="doccourbescp4" patron="base1" %S{Exemples} TAG:5 FICHIER:doccourbescp5.tex: \begin{verbatim} %appel du fichier input courbescp; beginfig(1); cadre((0,0),(10,10)); %indispensable origine((5,5)); %indispensable unites(2,2); %indispensable %cartésienne draw courbe2(-2,2,100,x**2-2*x-1) withcolor bleu; %paramétrée draw param3(0,2*pi,100,(2*(cos(t)**3),2*(sin(t)**3))) withcolor rouge; %polaire draw polaire1(0,2*pi,100,1+cos(theta)) withcolor vert; %polaire paramétrée draw polaireparam5(0,2*pi,100,((pi/2)*cos(t),sin(t))) withcolor orange; endfig; end; \end{verbatim} § M:texel: fichier="doccourbescp5" patron="base1" FICHIER:doccourbescp.1:*: FICHIER:doccourbescp.2:*: FICHIER:doccourbescp.3:*: FICHIER:doccourbescp.4:*: FICHIER:doccourbescp5bis.tex: \includegraphics{doccourbescp.1}\hfill\includegraphics{doccourbescp.2} \par \includegraphics{doccourbescp.3}\hfill\includegraphics{doccourbescp.4} § M:texel: fichier="doccourbescp5bis" patron="base1" %S{Suppléments} TAG:6 FICHIER:doccourbescp6.tex: La majeure partie du temps, le tracé de courbes se fait sur du papier millimétré, avec des axes,\ldots Ceci est également implanté dans le package. \begin{itemize} \item[$\bullet$] Vous souhaitez du papier millimetré ? \par Faites \verb+papiermillimetrecourbe+ ! \item[$\bullet$] ou plutôt une grille ? \par Faites \verb+grille(1)+ pour une grille d'unité $1\,cm$ ou \verb+grille(0.5)+ pour une grille d'unité $5\,mm$ ! \item[$\bullet$] Vous souhaitez les axes ? \par Faites \verb+axes+ ! \item[$\bullet$] Vous souhaitez les graduations ? \par Faites \verb+graduationx(btex 1 etex)+ et/ou \verb+graduationy(btex 1 etex)+ ! \item[$\bullet$] Vous souhaitez indiquer une légende sur les axes ? \par Faites \verb+legendex(btex+ {\em texte de la légende}\verb+ etex)+ et/ou \verb+legendey(btex+ {\em texte de la légende}\verb+ etex)+ ! \item[$\bullet$] Vous voulez le point de coordonnées $(a,b)$ ? \par Faites \verb+placepoint(a,b)+ ! \end{itemize} § M:texel: fichier="doccourbescp6" patron="base1" FICHIER:doccourbescp6bis.tex: \begin{itemize} \item[$\bullet$] Vous voulez le point d'abscisse $x_0$ sur une courbe ? \par En cartésien, faites \verb+pointcourbe5(-1)+ et vous obtiendrez le point de la courbe cartésienne 5 qui a pour abscisse $-1$ ! \par En paramétrée, faites \verb+pointparam2(1,0,10)+ et vous obtiendrez le point de la courbe paramétrée 2 qui a pour paramètre 1 sur l'intervalle de paramétrage $[0,10]$ ! \par En polaire, faites \verb+pointpolaire4(pi/3,0,pi)+ ! \par En polaire paramétrée, faites \verb+pointpolaireparam2(pi,0,3*pi)+ ! \item[$\bullet$] Vous souhaitez la tangente à une courbe au point d'abscisse $x_0$ ? \par En cartésien, faites \verb+draw tangente2(3)+ et vous obtiendrez la tangente à la courbe cartésienne 2 au point d'abscisse 3 ! \par En paramétrée, faites \verb+tangenteparam1(pi,0,4*pi)+ et vous obtiendrez la tangente à la courbe paramétrée 1 au point de paramètre $\pi$. \par En polaire, faites \verb+tangentepolaire2(0,0,2*pi)+ pour obtenir la tangente à la courbe polaire 2 au point de paramètre 0 ! \par En polaire paramétrée, faites \verb+tangentepolaireparam2(0,0,4)+ et vous obtiendrez la tangente à la courbe polaire paramétrée 2 au point de paramètre 0. \item[$\bullet$] Vous souhaitez tracer des parallèles aux axes ? \par Faites \verb+draw parahor(yk)+ et/ou \verb+draw paraver(xk)+ pour tracer respectivement la parallèle à l'axe horizontale d'ordonnée $y_k$ et la parallèle à l'axe des ordonnées d'abscisse $x_k$ ! \item[$\bullet$] Vous souhaitez hachurer (ou colorier) la partie du plan comprise entre deux courbes ? \par Faites \verb+draw entrecourbes(Cb1,Cb2)co+ si les courbes ont été tracées par \verb+courbe+.\\Cette macro permet également d'avoir les coordonnées des points d'intersection des 2 courbes grâce aux points $pti[k]$ où $k$ varie de 1 au nombre total de points d'intersection. On peut remarquer que cette macro peut également fonctionner pour d'autres types de courbes mais seulement au niveau des points d'intersection. \par Pour cette macro et la suivante, le changement de {\em remplissage} se fait par \verb+marque_re+ qui peut prendre les valeurs \verb+hachure+ ou \verb+remplis+; \verb+co+, dans l'appel de la macro, représente la couleur de remplissage (gris par défaut).\footnote{Les couleurs disponibles sont rouge, vert, bleu, jaune, noir, blanc, orange, rose, violet, ciel, orangevif, gris.} \item[$\bullet$] Vous souhaitez hachurer (ou colorier) la surface correspondant à $\displaystyle\int_a^bf(x)\,dx$ ? \par Faites \verb+draw airesouscourbe5(-1,3)co+ pour hachurer (ou colorier) la surface limitée par la courbe 5, l'axe horizontal et les droites d'équation $x=-1$ et $x=3$ ! \end{itemize} § M:texel: fichier="doccourbescp6bis" patron="base1" TAG:7 FICHIER:doccourbescp.5:*: FICHIER:doccourbescp7.tex: Voici un exemple : $$\includegraphics{doccourbescp.5}$$ § M:texel: fichier="doccourbescp7" patron="base1" TAG:8 FICHIER:doccourbescp8.tex: dont voici le codage \begin{verbatim} depart((0,0),(20,20),(2,10),2,2); grille(1); axes; graduationx(btex $+1$ etex); graduationy(btex $+1$ etex); draw courbe5(-5,5,100,x**2-4) withcolor jaune; draw courbe6(-2,9,100,-0.25*((x-4)**2)+(x-4)+3) withcolor violet; draw tangente6(1); draw paraver(2) dashed evenly; draw courbe7(-2,8,100,(x-4.25)**3+2*((x-4.25)**2)-(x-4.25)-1) withcolor orange; draw tangente7(5); draw Projection(pointcourbe7(3)); draw parahor(-0.5) dashed evenly; marque_re:="hachure"; draw entrecourbes(Cb6,Cb7); draw Projection(pointcourbe6(1)); marquepoint(pointcourbe7(3)); marquepoint(pointcourbe6(1)); marque_re:="remplis"; draw airesouscourbe6(6,7)ciel; draw airesouscourbe6(0.5,1.5); legendex(btex Abscisse $x$ etex); legendey(btex Ordonn\'ee $y$ etex); dotlabel.top(btex $A$ etex,placepoint(3,2)); dotlabel.top(btex $pti1$ etex,pti1); dotlabel.top(btex $pti2$ etex,pti2); dotlabel.top(btex $pti3$ etex,pti3); endfig; \end{verbatim} § M:texel: fichier="doccourbescp8" patron="base1" %S{Conclusion} TAG:9 FICHIER:doccourbescp.6:*: FICHIER:doccourbescp9.tex: Même s'il reste des choses à faire, je crois que ce package peut rendre de nombreux services à tous les enseignants utilisant Metapost. Les critiques, remarques, aides,\ldots sont les bienvenues et vivement attendues.\par\vspace{5mm}\par Au fait, que dites-vous de cette dernière courbe ?} $$\includegraphics[scale=2]{doccourbescp.6}$$ § M:texel: fichier="doccourbescp9" patron="base1" %%EOF