1116a145ad9db9fdf6ae0c40806f07a0e2528a41
[mp-gdd.git] / doc / mp-gdd-doc.tex
1 \documentclass{article}
2 \usepackage[utf8]{inputenc}
3 \usepackage[charter]{mathdesign}
4 \usepackage[margin=2.5cm]{geometry}
5 \usepackage{xspace}
6 \usepackage{xcolor}
7 \usepackage{multicol}
8 \usepackage{listings}
9 \usepackage{showexpl} % examples
10 \usepackage{mflogo}
11 \usepackage[frenchb]{babel}
12
13
14 \definecolor{hellgelb}{rgb}{1,1,0.85}
15 \definecolor{colKeys}{rgb}{0,0,1}
16 \definecolor{colIdentifier}{rgb}{0,0,0}
17 \definecolor{colComments}{rgb}{1,0,0}
18 \definecolor{colString}{rgb}{0,0.5,0}
19
20
21 \lstset{%
22 language=metapost,%
23 float=hbp,%
24 basicstyle=\ttfamily\small, %
25 identifierstyle=\color{colIdentifier}, %
26 keywordstyle=\color{colKeys}, %
27 stringstyle=\color{colString}, %
28 commentstyle=\color{colComments}, %
29 columns=flexible, %
30 tabsize=4, %
31 frame=single, %
32 extendedchars=true, %
33 showspaces=false, %
34 showstringspaces=false, %
35 % numbers=left,
36 % numbersep=0.8em,
37 % numberstyle=\tiny, %
38 breaklines=true, %
39 breakautoindent=true,
40 captionpos=b,
41 xleftmargin=1em
42 }
43 \lstset{explpreset={pos=t,wide=false,rframe={},preset=\centering}}
44 \lstdefinestyle{syntax}{backgroundcolor=\color{blue!15},numbers=none,xleftmargin=0pt,xrightmargin=0pt,
45 frame=single}
46 \lstdefinestyle{code}{backgroundcolor=\color{red!15},%numbers=left,
47 xleftmargin=0pt,xrightmargin=0pt,
48 frame=single}
49
50
51 \newcommand\mpgdd{\texttt{mpgdd}\xspace}
52 \newcommand\fichier[1]{\texttt{#1}}
53 \newcommand\variable[1]{\texttt{#1}}
54 \newcommand\typeMP[1]{\texttt{#1}}
55 \newcommand\typeGDD[1]{\texttt{#1}}
56
57 \begin{document}
58
59 \section{Introduction}
60
61 \mpgdd est un ensemble d'outils pour la géométrie plane avec \MP. Cet
62 ensemble se compose de plusieurs fichiers :
63
64 \begin{enumerate}
65 \item \fichier{gdd.mp} : c'est le fichier principal, il contient
66 les structures et fonctions générales.
67 \item \fichier{gdd-arc.mp} :
68 contient tout ce qui concerne les arcs de cercles.
69 \item \fichier{gdd-c2d.mp} :
70 contient tout ce qui concerne les courbes du second degré.
71 \item \fichier{gdd-fct.mp} :
72 contient quelques fonctions mathématiques usuelles.
73 \item \fichier{gdd-lbl.mp} :
74 contient les fonctions relatives aux labels.
75 \item \fichier{gdd-plt.mp} :
76 contient des fonctions facilitant la représentation de fonctions
77 mathématiques.
78 \item \fichier{gdd-rep.mp}
79 contient différents outils pour le tracé de figure dans un repère.
80 \item \fichier{gdd-tra.mp}
81 contient les fonction permettant de gérer la transparence (code
82 emprunté à Anthony \bsc{Phan}).
83 \end{enumerate}
84
85 Nous allons, dans la suite, décrire plus en détails chacune de ces
86 fonctions. Il est à noté aussi que certaines fonctions s'appuient sur
87 l'extension \fichier{graph.mp} présent dans toutes les bonnes
88 distributions \TeX.
89
90 \section{Principe général de fonctionnement}
91
92 \mpgdd utilise des tables comme structure principale.
93 Chaque objet est numéroté via le compteur \variable{gddO}, son
94 type\footnote{Les types son propres à \mpgdd et seront décrit plus
95 tard.} est stocké dans la table \variable{gddT[]} à la place
96 \variable{gddT[gddO]}. Les propriétés des objets sont définies dans, là
97 encore, des tables de type \typeMP{numeric} qui sont
98 \variable{gddA[]}, \variable{gddB[]},\dots,\variable{gddF[]}.
99
100 Par exemple, pour un \typeGDD{Point} (type \mpgdd), la première coordonnée
101 se trouve dans \variable{gddA[]} et la seconde dans \variable{gddB[]}
102 (les autres table ne sont pas utilisées pour un tel objet).
103
104 Il y a deux tables particulières \variable{gddP[]} qui est du type
105 \typeMP{path} et \variable{gddS[]} qui est du type
106 \typeMP{string}. Nous verrons plus tard quelle est leur utilité.
107
108 Bien entendu, lors d'une utilisation classique de \mpgdd, l'appel à
109 toutes ces tables n'est pas chose courante.
110
111 \section{Les types}
112
113 On peut, avec \mpgdd, construire plusieurs types
114 d'objets. Rappelons le, tout est \emph{objet} dont le nombre est
115 enregistré dans la variable \variable{gddO}. Le type d'objet, lui, est
116 stocké dans la table \variable{gddT[]}, et les tables \variable{gddA[]}
117 à \variable{gddF[]} contiennent les propriétés des objets.
118
119 Nous allons ici décrire chaque type de l'extension \mpgdd ainsi que
120 leurs propriétés respectives.
121
122 \paragraph{Le type \typeGDD{point}} Ce type correspond au point de
123 l'espace euclidien. Pour être plus clair voici la fonction principale
124 pour créer un tel objet :
125 %
126 \begin{lstlisting}
127 vardef Point(expr a,b) =
128 gddT[incr gddO] = "point";
129 gddA[gddO] = a; gddB[gddO] = b; gddO
130 enddef;
131 \end{lstlisting}
132
133 \LTXinputExample[graphic=../exemples/cercles/cercles1-1.pdf,pos=r]{../exemples/cercles/cercles1.mp}
134
135 \section{Fonctions générales}
136
137 \subsection{Relatives aux \typeGDD{Point}s}
138
139 \subsection{Un peu de géométrie}
140
141
142
143
144 \end{document}

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.