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.c Exemple 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.c Exemple 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.c Exemple 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 dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.