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.
c01.cExemple 1 |
|---|
/* ------------------------------------ */
/* save as : c01.c */
/* ------------------------------------ */
#include "v_a.h"
#include "y_o.h"
/* ------------------------------------ */
double **triangle(double **U,double size);
/* ------------------------------------ */
int main(void)
{
double **U = GINIT(-12.,355.,-5.,410.);
F_mR(triangle(U,400.));
printf(" * open the file main.plt with Gnuplot.");
return 0;
}
/* ------------------------------------ */
double **triangle(
double **U,
double size
)
{
int i=3;
if(size<10.) return(0);
for(;i--;)
{
triangle(U,size/2.);
GO(U,size);TU(U,120.);
}
return(U);
}
| Résultat dans gnuplot |
|---|
![]() |
Exemple 2
N'oubliez pas les fichiers h de la librairie.
c02.cExemple 2 |
|---|
/* ------------------------------------ */
/* save as : c02.c */
/* ------------------------------------ */
#include "v_a.h"
#include "y_o.h"
/* ------------------------------------ */
double **triangle(double **U,double size);
/* ------------------------------------ */
int main(void)
{
double **U = GINIT(-200.,350.,-120.,410.);
F_mR(triangle(U,200.));
printf(" * open the file main.plt with Gnuplot.");
return 0;
}
/* ------------------------------------ */
double **triangle(
double **U,
double size
)
{
int i=3;
if(size<10.) return(0);
for(;i--;)
{
GO(U,size);
triangle(U,size/2.);
TU(U,120.);
}
return(U);
}
| Résultat dans gnuplot |
|---|
![]() |
Exemple 3
N'oubliez pas les fichiers h de la librairie.
c03.cExemple 3 |
|---|
/* ------------------------------------ */
/* save as : c03.c */
/* ------------------------------------ */
#include "v_a.h"
#include "y_o.h"
/* ------------------------------------ */
double **triangle(double **U,double size);
/* ------------------------------------ */
int main(void)
{
double **U = GINIT(-200.,180.,-100.,310.);
F_mR(triangle(U,200.));
printf(" * open the file main.plt with Gnuplot.");
return 0;
}
/* ------------------------------------ */
double **triangle(
double **U,
double size
)
{
int i=3;
if(size<10.) return(0);
for(;i--;)
{
GO(U,size/2.);TU(U,-120.);
triangle(U,size/2.);
TU(U,120.);GO(U,size/2.);
TU(U,120.);
}
return(U);
}
| Résultat dans gnuplot |
|---|
![]() |
Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons – Attribution – Partage à l’identique. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.


