# Mathc gnuplot/Version imprimable

* Si vous imprimez cette page, choisissez « Aperçu avant impression » dans votre navigateur, ou cliquez sur le lien Version imprimable dans la boîte à outils, vous verrez cette page sans ce message, ni éléments de navigation sur la gauche ou en haut.
* Cliquez sur Rafraîchir cette page pour obtenir la dernière version du wikilivre.
* Pour plus d'informations sur les version imprimables, y compris la manière d'obtenir une version PDF, vous pouvez lire l'article Versions imprimables.
Une version à jour et éditable de ce livre est disponible sur Wikilivres, une bibliothèque de livres pédagogiques, à l'URL : https://fr.wikibooks.org/wiki/Mathc_gnuplot

# Introduction

L'étude de ce chapitre peut ce faire à l'aide de cette [Playlist]..
Les notions de mathématiques sont supposées connues.

## En pratique

Pour le langage C :
Sous linux il faut ajouter la commande -lm dans la ligne de commande pour lier la librairie mathématique à votre code.
Dans Geany il faut aller dans le menu construire/définir les commandes de construction ensuite ajouter la commande -lm
* compile : gcc -Wall -c "%f" -lm
* build ..... : gcc -Wall -o "%e" "%f" -lm
* Copier la bibliothèque, les fichiers h, dans votre répertoire de travail.
* Chaque fichier "*.c" est un exemple à compiler et à exécuter.
Pour gnuplot :
* Linux :
** Exécuter un exemple C.
** Ajouter une nouvelle fenêtre dans votre terminal de travail.
** Vous serez automatiquement dans le bon répertoire pour lancer gnuplot.
** Tapez : gnuplot
* Windows :
** Pour sélectionner le bon répertoire sous Windows
** Choisissez l'icône ChDir (change directory)
** Puis l'icône Open pour sélectionner un fichier de commande de gnuplot.
* Animation :
** Tapotez sur l'icône replot de gnuplot.

# Fichiers pour gnuplot
### Préambule

Quelques fonctions C à connaitre :
Éviter les lettres accentuées dans les fichiers sources (*.c,*.h), cela pose des problèmes pour échanger les fichiers entre Windows et Linux ou à l'international.

## Premiers fichiers
### Un fichier list.txt

* Copiez cet exemple dans votre éditeur.
* Sauvez-le sous le nom "c01.c"
* Compilez et exécutez-le.
    gcc -lm c01.c -o c01.exe ;./c01.exe
* Éditer le fichier "list.txt"

### Un fichier de données pour gnuplot

Nous ne mettrons pas d'extension pour les fichiers de données avec gnuplot.
* Compilez et exécutez-ce fichier.
* Éditez le fichier "data"
* Dans gnuplot tapez : plot "data"

### Un fichier de commande pour gnuplot

L'extension des fichiers de commande de gnuplot est "*.plt" Ici on dessine deux chaines de caractères.
* Compilez et exécutez-ce fichier.
* Éditez le fichier "a_main.plt"
* Dans gnuplot tapez : load "a_main.plt"
Cela donne dans le fichier "a_main.plt" :
On peut remarquer que chaque fonction est sur une ligne différente. Important si l'on veut dessiner quatre ou cinq fonctions.

### Dessiner une liste et une chaîne de caractères

On associe les deux méthodes vues précédemment.
* Compilez et exécutez-ce fichier.
* Éditez le fichier "a_main.plt"
* Dans gnuplot tapez : load "a_main.plt"
Cela donne dans le fichier "a_main.plt" :

### Une fonction graphique

On met simplement le contenu de la fonction main dans G_plot.
* Compilez et exécutez-ce fichier..
* Éditez le fichier "a_main.plt"
* Dans gnuplot tapez : load "a_main.plt"
Cela donne dans le fichier "a_main.plt" :

### Les ennuis commencent

À partir des fichiers précédents, essayer de dessiner la fonction g, sans modifier G_plot ?
Une solution va être proposée dans le chapitre suivant : Pointeurs de fonctions.

## Conclusion

Nous avons dessiné des fonctions sous forme de chaînes de caractères et sous la forme de liste de points.
Un problème est apparu : rendre les fonctions graphiques indépendantes de la fonction utilisée.

# Pointeurs de fonctions
### Préambule

En langage C, le nom d'une fonction est un pointeur. On peut l'utiliser comme argument dans l'appel d'une fonction. Exemple : G_plot(f); (f étant une fonction)
Un pointeur de fonction doit avoir le même prototype que la fonction pointée.
* Pour la fonction f(x) :
* Pour la fonction g(x,y) :
Pour appeler la fonction, nous utiliserons cette méthode :
* Pour la fonction f(x) :
* Pour la fonction g(x,y) :
Remarque :
* f et g sont des pointeurs et f et g sont des fonctions.
* double (*P_f)(double x) c'est une déclaration de pointeur de fonction.
* P_f c'est le pointeur.
* ((*P_f)) c'est un appel à une fonction.

## Exemples graphiques (avec gnuplot)
### Dessiner deux fonctions successivement

La fonction Gplt dessine f(x) et g(x).

### Solution pour le chapitre précédent

La fonction G_plot dessine la fonction (data) et la chaîne de caractères.
Résultat après le premier appel de G_plot :
Résultat après le deuxième appel de G_plot :

## Exemple numérique

Passer des pointeurs de fonctions à une fonction.

### Les fonctions f‘ et f‘‘

Calculer la dérivée première et seconde d'une fonction.
Résultat :

### La fonction FoG

Ici on passe les deux fonctions f et g à la fonction FoG.
La même fonction peut calculer gof, fog et fof...
Résultat :

# Tableau de pointeurs de fonctions
### Préambule

Nous avons des fonctions semblables. Nous voulons les associer pour pouvoir les manipuler dans des boucles. Nous allons créer un tableau de pointeurs de fonctions.
Le tableau de pointeurs de fonctions doit être déclaré avec un prototype de la même forme que celui des fonctions.

## Tableau de pointeurs de fonctions
### Les fonctions trigonométriques

Nous allons utiliser les fonctions trigonométriques du C.

#### Déclaration du tableau

* Toutes les fonctions ont la même forme : double fonction(double).
* Le tableau à la même forme que les fonctions : double tableau(double).
* Il y a six fonctions : cos, sin, tan, atan, asin, acos.

#### Application

* Créez un tableau de valeurs des fonctions trigonométriques.
* Imprimez le résultat dans cette ordre (sin,cos,tan,acos,asin,atan)
* Pour .1 <= x <+ .5

#### Avec le résultat dans un fichier

Le résultat :
Remarques :
* Attention à l'ordre des fonctions dans la déclaration du tableau.
* double (*TrigF[6])(double x) = {atan,asin,acos,tan,cos,sin};
Au démarrage :
* La décrémentation se fait dans le tableau. TrigF[--i](x)
* i=6 entre dans le tableau.
* 6 est décrémenté -> 5 (avant l'appel de la fonction --i)
* La sixième fonction est appelée (Sin).
* La numéro cinq. :)
Au final :
* Il entre UN dans le tableau.
* UN est décrémenté -> 0
* La première fonction est appelée (atan).
* La numéro zéro. :))
* i est égal à zéro en rentrant dans la boucle.
* Le cycle est cassé. :(

#### Avec le résultat à l'écran
### Les fonctions f‘ et f‘‘

Nous voulons créer la fonction Derivate pour calculer les dérivées première et seconde d'une fonction en utilisant un tableau de pointeurs de fonctions.
Voir listing en fin de page.

#### Déclaration du tableau

* Toutes les fonctions (fx,Df_x,Df_xx) ont la même forme : double fonction(double (*P_f)(double x) double double).
* Le tableau a la même forme que les fonctions : double tableau(double (*P_f)(double x) double double).
Il y a trois fonctions. (0,1,2)= {fx, Df_x, Df_xx}. La fonction fx donne f.
* Supprimez cette fonction et travaillez sur deux fonctions.
* Réfléchissez.

#### Exemple d'un appel

* Derivate[0] donne f(x).
* Voir la fonction fx la première fonction du tableau.
* h = 0 dans cet appel parce qu'il n'est pas utilisé (voir code de fx)

#### Exemple à tester
# Fichiers h : Fichiers h partagés
### Préambule

Vous trouverez dans cette section une suite de fichiers h. Installez ces fichiers dans votre répertoire de travail. Ils seront appelés par le fichier "x_ahfile.h" de chaque exemple.
Ces fichiers ne sont pas utilisés pour la géométrie de la tortue.

## En pratique

* xdef.h

### PI

    Déclaration de pi.

### clrscrn;

    Effacer la fenêtre du terminal Dos.

### Pause;

    Une pause d'une seconde pour les animations.

### NewName;

    Créer une liste de noms de fichiers.
* xplt.h

### i_WGnuplot;

    Contrôler la fenêtre de gnuplot 2d.

### i_WsGnuplot;

    Contrôler la fenêtre de gnuplot 3d.

### i_VGnuplot;

    Contrôler la vue de la fonction 3d.
* xspv.h

### i_point2d;

    Initialiser un point en 2d.

### i_point3d;

    Initialiser un point en 3d.

### i_vector2d;

    Initialiser un vecteur en 2d.

### i_vector3d;

    Initialiser un vecteur en 3d.
* xfx_x.h
    Dérivées de f(x);
* xfxy_x.h
    Dérivées partielles de f(x,y);
* xfxyz_x.h
    Dérivées partielles de f(x,y,z);

# Fichiers h : xdef
### Préambule

Installez ce fichier dans votre répertoire de travail.

# Fichiers h : xplt
### Préambule

Installez ce fichier dans votre répertoire de travail.

# Fichiers h : xspv
### Préambule

Installez ce fichier dans votre répertoire de travail.

# Fichiers h : xfx x
### Préambule

Installez ce fichier dans votre répertoire de travail.

# Fichiers h : xfxy x
### Préambule

Installez ce fichier dans votre répertoire de travail.

# Fichiers h : xfxyz x
### Préambule

Installez ce fichier dans votre répertoire de travail.

# Application : Fonction Heaviside
### Préambule

La fonction Heaviside dans Wikipedia.

## La fonction Heaviside

    $\forall x\in \mathbb {R} ,\ H(x)=\left\{{\begin{matrix}1&\mathrm {si} &x>0\\&\mathrm {sinon} &0\end{matrix}}\right.$

#### Présentation

Voici une possibilité pour la déclaration de la fonction Heaviside.
N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Une application

Nous allons simplement appeler la fonction Heaviside dans une boucle for.
Pour obtenir une somme : Sum((-1)^n*H(x-n),n=0..20)
* Résultat dans gnuplot

## Conclusion

Certains résultats sont vraiment surprenants en associant la fonction heaviside et la fonction sinus.

# Application : Tangente
## Préambule

La tangente dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner la tangente

Le résultat.
* Résultat dans gnuplot

## Exemple avec la sortie dans le fichier "a_out.txt"

Le résultat dans le fichiers "a_out.txt"
* Résultat dans gnuplot

# Application : Champ de tangentes
## Préambule

La tangente dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner un champ de tangentes 1

* Résultat dans gnuplot

### Dessiner un champ de tangentes 2

* Résultat dans gnuplot

### Dessiner un champ de normales 3

* Résultat dans gnuplot

### Dessiner un champ de normales 4

* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Application : Tangente et axes x-y
## Préambule

La tangente dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner

Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre

Un exemple avec la fonction sin.
* Résultat dans gnuplot

# Application : Tangente de P à l'axes des x
## Préambule

La tangente dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner

Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre

Même exemple avec la fonction sin.
* Résultat dans gnuplot

# Application : Tangente de P à l'axes des y
## Préambule

La tangente dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner

Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre

Même exemple avec la fonction sin.
* Résultat dans gnuplot

# Application : Sous tangente
## Préambule

La tangente dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner

Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre

Même exemple avec la fonction sin.
* Résultat dans gnuplot

# Application : Cercle de courbure
## Préambule

Le cercle de courbure dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner

Le résultat.
* Résultat dans gnuplot
* Résultat dans gnuplot
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Application : Méthode de Newton
## Préambule

Méthode de Newton dansWikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner

Le résultat.
* Résultat dans gnuplot
Un autre exemple avec :
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Application : Tangente d'une courbe
## Préambule

La tangente dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner la tangente d'une courbe

Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Application : Tangente et axes x-y d'une courbe
## Préambule

La tangente dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner

Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Application : Tangente de P à l'axes des x d'une courbe
## Préambule

La tangente dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner

Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Application : Tangente de P à l'axes des y d'une courbe
## Préambule

La tangente dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner

Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Application : Cercle de courbure d'une courbe
## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner

Le résultat.
* Résultat dans gnuplot
* Résultat dans gnuplot
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Application : Courbe de Bézier
### Préambule

Les courbes de Béziers dans Wikipedia.

## Courbe de Béziers
#### Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.
* Résultat dans gnuplot

### Une application

Nous avons essayé de recouvrir un quart de cercle avec une courbe de Béziers. Nous savons que c'est impossible (voir théorie)
* Résultat dans gnuplot

## Les fichiers h de ce chapitre

Cette partie ne peut être vue que dans wikiversité.

## Conclusion

Nous avons utilisé dans les exemples trois points de contrôles. Ici un exemple avec trois courbes et cinq points de contrôles.
* Résultat dans gnuplot

# Application : Courbe de Bézier rationnelle
### Préambule

Les courbes de Béziers dans Wikipedia.

## Courbes de Béziers rationelles (cubiques)

La seule chose qui change avec le chapitre précédent, c'est le fichier "kpoly.h".

#### Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.
* Résultat dans gnuplot
* Courbe du chapitre précédent

### Une application

Nous avons essayé de recouvrir un quart de cercle avec une courbe de Béziers. En théorie cela est possible avec les courbes de Béziers rationelles (cubiques).
* Résultat dans gnuplot
* Courbe du chapitre précédent

## Les fichiers h de ce chapitre

Cette partie ne peut être vue que dans wikiversité.

# Application : Fonction vectorielle 3D
## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner

Le résultat.
* Résultat dans gnuplot
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Application : Tangente de f(x,y)
## Préambule

La tangente dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner la tangente

* La méthode consiste à poser :
** x = i (ici i=1).
** D'utiliser la dérivée partielle par rapport à y.
** Puis écrire l'équation de la tangente d'une fonction en y.
Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Application : Gradient
## Préambule

Le gradient dans Wikipedia.

## Présentation

Dessiner la courbe de niveau C de f qui contient P et dessiner le gradient au point P.
N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner le gradient au point P

Le résultat.
* Résultat dans gnuplot
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Application : Vecteur normal
## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner le vecteur normale au point P

Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Application : Plan tangent
## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Dessiner le plan tangent au point P

Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Commande pause 1
## Préambule

Créer une animation avec la commande "pause 1" de gnuplot. Ces exemples dans cette page présentent le code sans animation. Pour le troisième exemple voir le chapitre Animation Tangente Pour un autre exemple, voir le chapitre Tangente d'une courbe

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Le cadre

Le résultat.

### Dessiner

* Dessiner une chaîne de caractères.
Le résultat.

## Les fichiers h de ce chapitre
# Animer un point
## Préambule

Créer une animation avec la commande "pause 1" de gnuplot. La position du point est dans les fichiers a_p***. Dans cet exemple la commande "pause 1" a été oublié.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### L'animation

Le résultat.

## Les fichiers h de ce chapitre
# Animer deux points
## Préambule

Créer une animation avec la commande "pause 1" de gnuplot. La position des deux points sont dans les fichiers a_p***

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### L'animation

Le résultat.

## Les fichiers h de ce chapitre
# Animation : Tangente
### Préambule

La tangente dans Wikipedia.
Voir l'introduction pour créer une animation avec gnuplot sous windows ou linux.

### Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Animer la tangente

Nous utilisons ici la méthode avec la commande "pause 1" de gnuplot.
Le résultat dans a_main.plt

## Les fichiers h de ce chapitre
# Animation : Cercle de courbure
## Préambule

Cercle de courbure dans Wikipedia.
Voir l'introduction pour créer une animation avec gnuplot sous windows ou linux.

## Présentation

N'oubliez pas les fichiers *.h partagés et récupérer aussi ceux du chapitre Dessiner :Cercle de courbure.

### Animer

Le résultat.
* Résultat dans gnuplot
* Résultat dans gnuplot
* Résultat dans gnuplot

# Animation : Tangente d'une courbe
### Préambule

La tangente dans Wikipedia.
Voir l'introduction pour créer une animation avec gnuplot sous windows ou linux.

### Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Animer la tangente

Nous utilisons ici la méthode avec la commande "pause 1" de gnuplot.
Le résultat dans a_main.plt
* Résultat dans gnuplot
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Animation : Cercle de courbure d'une courbe
## Préambule

Cercle de courbure dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et de recuperer aussi ceux du chapitre Dessiner : Cercle de courbure d'une courbe.

### Animer

Le résultat.
* Résultat dans gnuplot
* Résultat dans gnuplot
* Résultat dans gnuplot

# Animation : Cycloïde
## Préambule

La cycloïde dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Animer

Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Animation : Cardioïde
## Préambule

La cardioïde dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Animer

Le résultat.
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Animation : Rosace
## Préambule

Coordonnées polaires dans Wikipedia.

## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Animer

Le résultat.
* Résultat dans gnuplot
* Résultat dans gnuplot

## Les fichiers h de ce chapitre
# Animation : Vecteur unitaire
## Présentation

N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.

### Animer

Le résultat.
* Résultat dans gnuplot

## Les fichiers h partagés
# Animation : Courbe de Bézier
### Préambule

Les courbes de Béziers dans Wikipedia.
Voir l'introduction pour créer une animation avec gnuplot sous windows ou linux.

## Courbes de Béziers cubiques (normale ou rationnelle)
### L'animation

N'oubliez pas les fichiers *.h partagés et les fichiers *.h dans les chapitres Courbe de Bézier ou Courbe de Bézier rationnelle.
Cet exemple fonctionne pour les deux types de courbes (normale,rationnelle).

# Animation : Fonction vectorielle 3D
## Préambule

Voir l'introduction pour créer une animation avec gnuplot sous windows ou linux.

## Présentation

N'oubliez pas les fichiers *.h partagés. Recuperer aussi ceux du chapitre Dessiner : Fonction vectorielle 3D.

### Animer

Le résultat.
* Résultat dans gnuplot
* Résultat dans gnuplot

# Animation : Tangente de f(x,y)
## Préambule

La tangente dans Wikipedia.
Voir l'introduction pour créer une animation avec gnuplot sous windows ou linux.

## Présentation

N'oubliez pas les fichiers *.h partagés. Recuperer aussi ceux du chapitre Dessiner : Tangente de f(x,y).

### Dessiner la tangente

* La méthode consiste à poser :
** x = i (ici i=1).
** D'utiliser la dérivée partielle par rapport à y.
** Puis écrire l'équation de la tangente d'une fonction en y.
Le résultat.
* Résultat dans gnuplot
* Résultat dans gnuplot
* Résultat dans gnuplot

# Animation : Vecteur normal
## Présentation

N'oubliez pas les fichiers *.h partagés. Récupérer aussi ceux du chapitre Dessiner : Vecteur normal.

### Dessiner le vecteur normale au point P

Le résultat.
* Résultat dans gnuplot
* Résultat dans gnuplot
* Résultat dans gnuplot

# Animation : Plan tangent
## Présentation

N'oubliez pas les fichiers *.h partagés. Récupérer aussi ceux du chapitre Dessiner : Plan tangent'.

### Animer le plan tangent au point P

Le résultat.
* Résultat dans gnuplot
* Résultat dans gnuplot
* Résultat dans gnuplot

# Présentation de la librairie
## Préambule

La géométrie de la tortue dans Wikipedia.
Dans ce chapitre, nous présenterons un exemple (c01.c) et la librairie (*.h). Le code des fonctions de la librairie ne sont pas à étudier. Dans un premier temps, amusez-vous simplement avec ces fonctions.
L'étude de ce chapitre peut ce faire à l'aide de cette [Playlist]..

## Présentation

* Les commandes d'initialisation :
** **U = GINIT(-10.,10.,-10.,10.);
*** création de la matrice.
*** initialisation de la fenêtre de gnuplot
** F_mR(U); Destruction de la matrice.
* Les commandes de déplacement :
** SETUP(U,angle,x,y); Positionner la tortue.
** GO(U,+P); Avancer de P pas.
** GO(U,-P); Reculer de P pas.
** TU(U,+D); Tourner de D degrés sur la droite.
** TU(U,-D); Tourner de D degrés sur la gauche.
* La direction:
** Les angles positifs tournent dans le sens des aiguilles d'une montre.
*** L'angle 0 est le nord.
** La direction est mémorisée.

### Dessiner

Le résultat :
* Résultat dans gnuplot

## Les fichiers h partagés

L'étude sur les matrices fait partie d'un autre livre.

# Application : Quelques exemples
## Préambule

La géométrie de la tortue dans Wikipedia.

## Présentation

Quelques exemples.

# Dessiner
## Petits drapeaux

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Petit jeux sur les rectangles

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Petit jeux sur les formes

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

# Application : Soleil 1
## Préambule

La géométrie de la tortue dans Wikipedia.

## Présentation

Quelques exemples.

# Dessiner
## Soleils 0

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Soleil 1

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Soleil 2

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Soleil 3

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Soleil 4

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

# Application : Soleil 2
## Préambule

La géométrie de la tortue dans Wikipedia.

## Présentation

Quelques exemples.

# Dessiner
## Soleils 0

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Soleils 1

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Soleils 2

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Soleils 3

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Soleils 4

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

# Application : Quelques polygones
## Préambule

La géométrie de la tortue dans Wikipedia.

## Présentation

Quelques exemples.

# Dessiner
## Jeux sur les polygones 1

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Jeux sur les polygones 2

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Jeux sur les polygones 3

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

# Application : Dessiner en pointillés
## Préambule

La géométrie de la tortue dans Wikipedia.

## Présentation

Quelques exemples en pointillés.
* Les commandes :
** GO(U,+P); Avancer de P pas.
** GO(U,-P); Reculer de P pas.
** GU(U,+P); Avancer de P pas sans laisser de trace.
** GU(U,-P); Reculer de P pas sans laisser de trace.

# Dessiner
## Premier exemple

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Deuxième exemple

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Troisième exemple

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

# Application : Fonctions récursives
## Préambule

La géométrie de la tortue dans Wikipedia.

## Présentation

* F_mR(tree(U,50.));
** Cette méthode est utilisée ici pour montrer la sortie finale des fonctions.
** C'est à dire return(U);

# Dessiner
## Un arbre

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Petit jeux sur les triangles

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Petit jeux sur les carrés

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Courbe de Hilbert

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

# Application : Triangles
## Préambule

La géométrie de la tortue dans Wikipedia.

## Présentation

Quelques exemples avec des fonctions récursives. Petits jeux sur les triangles.

# Dessiner des triangles
## Exemple 1

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Exemple 2

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Exemple 3

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

# Présentation de la librairie vectorielle
### Préambule

La géométrie de la tortue dans Wikipedia.
Dans ce chapitre, nous présenterons un exemple (c01.c) et la librairie (*.h). Les fonctions de la librairie ne sont pas à étudier. Dans un premier temps, amusez-vous simplement avec ces fonctions.
L'étude de ce chapitre peut ce faire à l'aide de cette [Playlist]..

### Présentation

Les commandes d'initialisation :
* **U = G_main(-10.,10.,-10.,10.);
** création de la matrice.
** Initialisation de la fenêtre de gnuplot
* F_mR(U); Destruction de la matrice.
Les commandes de déplacement :
* SETUP(U,angle,x,y); Positionner la tortue.
* vo(U,0,+P); Avancer de P unités.
* vo(U,0,-P); Reculer de P unités.
* vo(U,D,0); Contrôler la "D"irection.
La direction :
* Suit les règles du cercle trigonométrique mais en degrés. Les angles positifs sont mesurés dans le sens inverse des aiguilles d'une montre, à partir de l'axe des x positifs.
* À chaque déplacement il faut lui indiquer une direction.

### Dessiner

Dessiner un carré.
Le résultat :
* Résultat dans gnuplot

### Les fichiers h partagés

L'étude sur les matrices fait partie d'un autre livre.

# Vectorielle : Quelques exemples
## Préambule

La géométrie de la tortue dans Wikipedia.

## Présentation

* Quelques exemples .

# Dessiner
## Petits jeux sur les pentagones

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Une feuille

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Petit jeux sur les polygones 1

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Petit jeux sur les polygones 2

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Petit jeux sur les polygones 3

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

# Vectorielle : Quelques exemples 2
## Préambule

La géométrie de la tortue dans Wikipedia.

## Présentation

* Quelques exemples .

# Dessiner

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot
N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot
N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

# Vectorielle : Fonctions récursives
## Préambule

La géométrie de la tortue dans Wikipedia.

## Présentation

Les fonctions récursives.

# Dessiner
## Un arbre

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Un arbre (2)

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

## Un flocon

N'oubliez pas les fichiers h de la librairie.
* Résultat dans gnuplot

# Annexe : Commandes de bases (gnuplot)
### Préambule

Dans ce chapitre, nous voyons les premières commandes pour dessiner des fonctions de la forme f(x).

## En pratique
### test

Cet exemple donne les informations de base.

### Chaine de caractères
#### linetype | lt <0..15>

Chaque nombre correspond à une couleur différente. (voir test)

#### linewidth | lw <1.. 6>

Chaque nombre correspond à une épaisseur différente.

### Liste de points
#### plot "data"

Dessiner une liste de points.
Créer un fichier "data" avec ces données :

#### pointtype | pt <0..15>

Chaque nombre correspond à un dessin différent de points. (voir test)

#### pointsize | ps <1.. >

Chaque nombre correspond taille de points différents. (voir test)

#### with linesp

Les points sont réliés par des segments.

#### pt 0

Sans les points.

### Commandes générales
#### complet
# Annexe : Commandes de bases 3d (gnuplot)
### Préambule

Dans ce chapitre, nous voyons les premières commandes pour dessiner des fonctions en 3d.