Aller au contenu

Mathc gnuplot/Application : Soleil 1

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=360/10;

  for(;i--;)
    {
     GO(U, step);
     GO(U,-step);
     TU(U,  10.);
    }
}
/* ------------------------------------ */
int main(void)
{
double **U = GINIT(-10.,10.,-10.,10.);

//   clrscrn();

   SETUP(U,0.,-5, 5);fun(U,3.);
   SETUP(U,0., 5, 5);fun(U,3.);
   SETUP(U,0.,-5,-5);fun(U,3.);
   SETUP(U,0., 5,-5);fun(U,3.);
   SETUP(U,0., 0,-0);fun(U,3.);

   F_mR(U);

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

  return 0;
}
Résultat dans gnuplot
Turtles

N'oubliez pas les fichiers h de la librairie.

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

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

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

   F_mR(U);

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

  return 0;
}
Résultat dans gnuplot
Turtles


N'oubliez pas les fichiers h de la librairie.

c01.c
Soleil 2
/* ------------------------------------ */
/*  Save as : c02.c                     */
/* ------------------------------------ */
#include "v_a.h"
#include "y_o.h"
/* ------------------------------------ */
void fun(
double **U,
double step
)
{
int    i=360/10;
double a=2.;

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

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

   F_mR(U);

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

  return 0;
}
Résultat dans gnuplot
Turtles


N'oubliez pas les fichiers h de la librairie.

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

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

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

   F_mR(U);

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

  return 0;
}
Résultat dans gnuplot
Turtles

N'oubliez pas les fichiers h de la librairie.

c01.c
Soleil 4
/* ------------------------------------ */
/*  Save as : c04.c                     */
/* ------------------------------------ */
#include "v_a.h"
#include "y_o.h"
/* ------------------------------------ */
void fun(
double **U,
double step
)
{
int i=113;
int a=0;

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

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

   F_mR(U);

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

  return 0;
}
Résultat dans gnuplot
Turtles