Des courbes en LaTeX: Extension pstricks-add. publié le 22/04/2008 - mis à jour le 14/12/2013
Introduction
$LaTeX$ offre une multitude de possibilités pour concevoir des documents.
Dans cet article, je vais montrer qu’il est rapidement possible d’effectuer le tracé d’une courbe (et même plus) sans avoir recours à un logiciel externe tel que TeXGraph, ou PstPlus et ceci simplement en ajoutant quelques lignes de code.
Utilisation
Dans le préambule de votre document $LaTeX$, il faudra appeler les extensions suivantes :
- pstricks-add, pour le tracé des courbes :
\usepackage{pstricks-add}
; - pst-eucl, pour la gestion des intersections des courbes :
\usepackage{pst-eucl}
.
Gestion du repère
Tout d’abord, il faudra gérer l’affichage du repère :
- le tracé du repère se fera à l’aide de la commande suivante :
\psaxes[par]{arrows}(x0,y0)(x1,y1)(x2,y2)
; - il est conseillé de mettre les mêmes dimensions pour les axes que les dimensions de l’image.
Gestion des labels sur les axes
Il est possible de modifier les unités sur les axes de façon à avoir sur l’axe des abscisses des unités trigonométriques :
- pour cela, Il faudra ajouter le code suivant :
trigLabels=true
; - ainsi, avec un repère de ce type, on pourra tracer des fonctions trigonométriques ;
- il faudra cependant modifier la gestion des unités sur l’axe des abscisses en consultant la documentation de pstricks-add ;
Représentation de fonctions
Courbes classiques
Pour tracer une courbe, la commande de base sera la suivante :
\psplot[par]{xmin}{xmax}{fonction}
.
- Définir une fonction
- L’instruction
algebraic=true
, permettra de donner la fonction sous sa forme classique, sinon il faudra donner l’expression de la fonction en utilisant la notation polonaise inverse RPN (Reverse Polish Notation), notation souvent utilisée avant les années 90 notamment par les calculatrices HP. - Par exemple, la fonction $f:x\mapsto x^2+3x-5$ s’écrit en notation RPN :
x 2 exp 3 x mul add 5 sub
.
L’explication vient du fait qu’un opérateur a besoin de deux opérandes.
Ainsi le code,x 2 exp
se traduit par $x^2$, le code3 x mul
par $3x$ et le codeadd
qui suit signifie qu'il faut additionner ces deux termes. On obtient ainsi $x^2+3x$. Enfin le code qui suit,5 sub
, signifie qu'il faut enlever 5 à ce que l'on vient d'obtenir. On obtient finalement: $x^2+3x-5$.
- L’instruction
- Tracer une courbe
- On pourra d’une part donner directement l’expression de la fonction dans la commande
\psplot
. - On pourra aussi définir la fonction par la commande
\def\nom_de_la_fonction{expression}
, puis dans la commande\psplot
, on appellera la fonction.
L’avantage de cette méthode est que l’on peut définir une fonction $g$ à partir d’une fonction $f$. - L’exemple suivant montre la courbe d’une fonction et l’image de cette courbe par une translation.
- Cet autre exemple montre la représentation graphique d’une fonction $f$ et la représentation graphique de l’inverse de la fonction, $\frac{1}{f}$.
- On pourra d’une part donner directement l’expression de la fonction dans la commande
Courbes paramétriques
Pour tracer une courbe, la commande de base sera \parametricplot[par]{tmin}{tmax}{
x(t)
y(t)}
qui utilise la notation RPN (le retour à la ligne permet de séparer les expressions $x(t)$ et $y(t)$).
- On peut voir ci-dessous un premier exemple.
- Si on utilise l’instruction
algebraic=true
et la commande\parametricplot[par]{tmin}{tmax}{x(t)|y(t)}
, la variable t sera alors exprimée en radians.
L’exemple ci-dessous en est une illustration.
Aires
Il est possible de représenter l’aire comprise entre la courbe d’une fonction, l’axe des abscisses et les deux droites d’équations $x=a$ et $x=b$.
Pour cela, il s’agit d’utiliser la commande
\pscustom[par]{segment(a,0)(a,f(a)) courbe segment(b,f(b))(b,0)}
On fera attention au dernier segment tracé puisque la première extrémité du segment part de la courbe.
- L’exemple ci-dessous montre l’utilisation de ce code.
- On pourra aussi représenter l’aire comprise entre deux courbes.
Pour cela, il faudra utiliser la commande\pscustom[par]{courbe du bas courbe du haut}
Intersection de deux fonctions
Pour obtenir les points d’intersections de deux courbes, il est nécessaire de déclarer dans le préambule du document, le package pst-eucl par le code
\usepackage{pst-eucl}
.
C’est la seule partie où la notation RPN est nécessaire.
De plus, il est possible que la recherche de l’intersection ne puisse aboutir puisque celle-ci utilise l’algorithme de NEWTON.
- Pour obtenir l’intersection entre une courbe et une droite (AB), on utilisera le code
\pstInterFL[par]{fonction}{A}{B}{abscisse}{nom_du_point}
.
L’abscisse donnée n’est pas forcément l’abscisse précise du point d’intersection mais juste un "positionnement". - Pour obtenir l’intersection entre deux courbes, on utilisera le code
\pstInterFF[par]{fonction_1}{fonction_2}{abscisse}{nom_du_point}
.
L’abscisse donnée n’est pas forcément l’abscisse précise du point d’intersection mais juste un "positionnement".
Tableau de relation entre la notation RPN et la notation classique.
Nom | Syntaxe | notation classique |
add | x y add | |
sub | x y sub | |
mul | x y mul | |
exp | x y exp | |
div | x y div | |
neg | x neg | |
sqrt | x sqrt | |
abs | x abs | |
cos | x cos | |
sin | x sin | |
atan | x atan | |
ln | x ln |