Aller au contenu

Mathc gnuplot/Application : Soleil 2

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


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

Quelques exemples.

N'oubliez pas les fichiers h de la librairie.

c00.c
Soleils 0
/* ------------------------------------ */
/*  Save as : c00.c                     */
/* ------------------------------------ */
#include "v_a.h"
#include "y_o.h"
/* ------------------------------------ */
void fun(
double **U,
double step
)
{
int    i=180;
double a=1.;

  for(;i--;)
    {
     (a>2.) ? (a=1.):(a+=0.04);
     GO(U, a*step);
     
     TU(U,    45.);
     GO(U,   step);
     GO(U,-  step);
     TU(U,   -45.);
     
     GO(U,-a*step);
     TU(U,     2.);
    }
}
/* ------------------------------------ */
int main(void)
{
double **U = GINIT(-10.,10.,-10.,10.);

   // clrscrn();
   
   fun(U,3.);

   F_mR(U);

  printf("  * open the file a_main.plt with Gnuplot.\n");

  return 0;
}
Résultat dans gnuplot
Turtles

N'oubliez pas les fichiers h de la librairie.

c00.c
Soleils 1
/* ------------------------------------ */
/*  Save as : c01.c                     */
/* ------------------------------------ */
#include "v_a.h"
#include "y_o.h"
/* ------------------------------------ */
void fun(
double **U,
double step
)
{
int    i=180;
double a=1.;

  for(;i--;)
    {
     (a>2.) ? (a=1.):(a+=0.04);
     GO(U, a*step);
     
     TU(U,    45.);
     GO(U,   step);
     
     TU(U,    45.);
     GO(U,   step);
     GO(U,-  step);
     TU(U,   -45.);
    
     GO(U,-  step);
     TU(U,   -45.);
     
     GO(U,-a*step);
     TU(U,     2.);
    }
}
/* ------------------------------------ */
int main(void)
{
double **U = GINIT(-10.,10.,-10.,10.);

   clrscrn();
   
   fun(U,3.);

   F_mR(U);

  printf("  * open the file main.plt with Gnuplot.\n\n\n");

  return 0;
}
Résultat dans gnuplot
Turtles


N'oubliez pas les fichiers h de la librairie.

c00.c
Soleils 2
/* ------------------------------------ */
/*  Save as : c02.c                     */
/* ------------------------------------ */
#include "v_a.h"
#include "y_o.h"
/* ------------------------------------ */
void fun(
double **U,
double step
)
{
int    i=180;
double a=1.;

  for(;i--;)
    {
     (a>2.) ? (a=1.):(a+=0.04);
     GO(U, a*step);
     
     TU(U,    45.);
     GO(U,   step);
     
     TU(U,   -45.);
     GO(U,   step);
     GO(U,-  step);
     TU(U,    45.);
    
     GO(U,-  step);
     TU(U,   -45.);
     
     GO(U,-a*step);
     TU(U,     2.);
    }
}
/* ------------------------------------ */
int main(void)
{
double **U = GINIT(-12.,12.,-12.,12.);

 //  clrscrn();
   
   fun(U,3.);

   F_mR(U);

  printf("  * open the file a_main.plt with Gnuplot.\n");

  return 0;
}
Résultat dans gnuplot
Turtles

N'oubliez pas les fichiers h de la librairie.

c00.c
Soleils 3
/* ------------------------------------ */
/*  Save as : c03.c                     */
/* ------------------------------------ */
#include "v_a.h"
#include "y_o.h"
/* ------------------------------------ */
void fun(
double **U,
double step
)
{
int    i=180;
double a=1.;

  for(;i--;)
    {
     (a>2.) ? (a=1.):(a+=0.04);
     GO(U, a*step);
     
     TU(U,    45.);
     GO(U,   step);
     
     TU(U,   -90.);
     GO(U,   step/2.);
     GO(U,-  step/2.);
     TU(U,    90.);
    
     GO(U,-  step);
     TU(U,   -45.);
     
     GO(U,-a*step);
     TU(U,     2.);
    }
}
/* ------------------------------------ */
int main(void)
{
double **U = GINIT(-12.,12.,-12.,12.);

//   clrscrn();
   
   fun(U,3.);

   F_mR(U);

  printf("  * open the file a_main.plt with Gnuplot. \n");

  return 0;
}
Résultat dans gnuplot
Turtles

N'oubliez pas les fichiers h de la librairie.

c00.c
Soleils 4
/* ------------------------------------ */
/*  Save as : c04.c                     */
/* ------------------------------------ */
#include "v_a.h"
#include "y_o.h"
/* ------------------------------------ */
void fun(
double **U,
double step
)
{
int    i=180;
double a=1.;

  for(;i--;)
    {
     (a>2.) ? (a=1.):(a+=0.04);
     GO(U, a*step);
     
     TU(U,    45.);
     GO(U, a*step);
     
     TU(U,   -90.);
     GO(U,   step);
     GO(U,  -step);
     TU(U,    90.);
    
     GO(U,-a*step);
     TU(U,   -45.);
     
     GO(U,-a*step);
     TU(U,     2.);
    }
}
/* ------------------------------------ */
int main(void)
{
double **U = GINIT(-12.,12.,-12.,12.);

//   clrscrn();
   
   fun(U,3.);

   F_mR(U);

  printf("  * open the file a_main.plt with Gnuplot.\n\n\n");

  return 0;
}
Résultat dans gnuplot
Turtles