Mathc gnuplot/Application : Triangles

Un livre de Wikilivres.
Mathc gnuplot
Mathc gnuplot
Mathc gnuplot
Sommaire

I - Dessiner

Fichiers h partagés :

Application :

II - Animer

Application :

III - Géométrie de la tortue standard

Application :

IV - Géométrie de la tortue vectorielle

Application :

Annexe

Livre d'or



Préambule[modifier | modifier le wikicode]

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

Présentation[modifier | modifier le wikicode]

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

Dessiner des triangles[modifier | modifier le wikicode]

Exemple 1[modifier | modifier le wikicode]

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
Turtles14


Exemple 2[modifier | modifier le wikicode]

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
Turtles


Exemple 3[modifier | modifier le wikicode]

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
Turtles