Initialisation du projet pst-solides3d.git (SVN revision 142)
[pst-solides3d.git] / doc / par-definirfonction.tex
1 \section {Définir une fonction}
2
3 Il est possible de définir des fonctions utilisables dans
4 l'environnement postscript. L'ensemble de départ peut être $R$, $R^2$
5 ou $R^3$, et l'ensemble d'arrivée peut être $R$, $R^2$ ou $R^3$.
6
7 La définition se fait avec la macro \verb!\defFunction!. Cette
8 macro nécessite six arguments, dont un seul est optionnel.
9
10 \verb!\defFunction[<options>]{<nom>}(<var>){<x(var)>}{<y(var)>}{<z(var)>}!
11
12 \begin{table}[h]
13 \begin{tabular}{p{2cm}p{11cm}}
14 \verb!<options>! & On y insère les option typiques de PSTricks, comme
15 \verb!linewidth! etc., et en plus, quelques unes définies par
16 \verb!pst-solides3d!. Une très charmante option est \verb!algebraic!,
17 avec quelle on peut éviter la notation RPN (Reverse Polish
18 Notation). Toutes options sont des paires (clé,valeur) et sont séparées
19 avec des virgules.\\
20
21 \verb!<nom>! & C'est un nom unique de votre choix -- mais attention:
22 évitez des noms avec des accents, PostScript ne les aime pas du
23 tout.\\
24
25 \verb!<var>! & On y insère au maximum trois variables arbitraires,
26 séparées avec des virgules. \\
27
28 \verb!<x(var)>! \verb!<y(var)>! \verb!<z(var)>! & On y met des
29 fonctions dépendant des variables définies pour les directions
30 euclidienness $x,\,y,\,z$. Si une de ces trois directions n'est pas
31 voulue, insérez un 0 entre les parenthèses -- ce qui vous donne la
32 possibilité de définir aussi des projetés plans de courbes de fonctions.
33 \end{tabular}
34 \end{table}
35
36 Quand vous avez défini une fonction, cette fonction est toujours
37 reprise avec son \verb!<nom>! choisi.
38
39 Voil\`{a} quelques exemples:
40 \begin{itemize}
41 \item \verb!\defFunction{moncercle}(t){t cos 3 mul}{0}{t sin 3 mul}!
42
43 donne un cercle de rayon 3 dans le plan $xOz$ (notation RPN).
44 \item \verb!\defFunction[algebraic]{helice}(t){cos(t)}{sin(t)}{t}!
45
46 donne une hélice en notation algèbrique.
47
48 \item \verb!\defFunction[algebraic]{F}(t){t}{}{}!
49 donne une fonction de \textbf{R} dans \textbf{R}
50
51 \item \verb!\defFunction[algebraic]{F}(t){t}{}{}!
52 donne une fonction de \textbf{R} dans \textbf{R$^{\textbf 2}$}
53
54 \item \verb!\defFunction[algebraic]{F}(t){t}{t}{t}!
55 donne une fonction de \textbf{R} dans \textbf{R$^{\textbf 3}$}
56
57 \end{itemize}
58
59 \llap {\dbend } Il nous reste encore du travail à faire sur cette
60 macro, et elle ne permet pour le moment pas de choisir des noms
61 de variables quelconques, car ils risquent d'entrer en conflit avec
62 des noms déjà existant. Merci d'utiliser des noms analogues à ceux
63 utilisés dans la documentation. Une bonne stratégie consiste à
64 utiliser systématiquement un ou plusieurs caractères numériques à la
65 fin de vos noms de variables.

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.