Mathc gnuplot/Vectorielle : Quelques exemples 2
La géométrie de la tortue dans Wikipedia.
Préambule
modifierPrésentation
modifier- Quelques exemples .
Dessiner
modifierN'oubliez pas les fichiers h de la librairie.
c01.c Petits jeux sur les polygones |
---|
/* ------------------------------------ */
/* save as : c01.c */
/* ------------------------------------ */
#include "v_a.h"
#include "y_r.h"
/* ------------------------------------ */
void poly(
double **U,
double **Sides,
double **Angles,
double alpha,
int n
)
{
int i=1;
int c;
for(;i++<n;)
for(c=C1;c<Angles[C_SIZE][OF];c++)
vo(U,i*(Angles[R1][c])+alpha,Sides[R1][c]);
}
/* ------------------------------------ */
int main(void)
{
double a[2] ={ 19.,-20.};
double s[2] ={ 60., 60.};
double alpha =-90;
double **U = G_main(-1000.,1000.,-1000.,1000.);
double **A = c_a_A_mR(a,I_mR(R1,C2));
double **S = c_a_A_mR(s,I_mR(R1,C2));
setup(U,-500,450.);
poly(U,S,A,alpha,50);
setup(U, 500,450.);
poly(U,S,A,alpha,100);
setup(U, -500,-600.);
poly(U,S,A,alpha,200);
setup(U,500,-600.);
poly(U,S,A,alpha,400);
F_mR(U);
return 0;
}
Résultat dans gnuplot |
---|
N'oubliez pas les fichiers h de la librairie.
c02.c Une étoiles |
---|
/* ------------------------------------ */
/* save as : c02.c */
/* ------------------------------------ */
#include "v_a.h"
#include "y_r.h"
/* ------------------------------------ */
void poly(
double **U,
double **Sides,
double **Angles,
double alpha,
int n
)
{
int i=1;
int c;
for(;i++<n;)
for(c=C1;c<Angles[C_SIZE][OF];c++)
vo(U,i*(Angles[R1][c])+alpha,Sides[R1][c]);
}
/* ------------------------------------ */
int main(void)
{
double a[4] ={ 7., -8., 9., -10.};
double s[4] ={ 30., 30., 30., 30.};
double **U = G_main(-1000.,1000.,-1000.,1000.);
double **A = c_a_A_mR(a,I_mR(R1,C4));
double **S = c_a_A_mR(s,I_mR(R1,C4));
setup(U, 200,-100.);
poly(U,S,A,-0.,400.);
F_mR(U);
return 0;
}
Résultat dans gnuplot |
---|
N'oubliez pas les fichiers h de la librairie.
c03.c Petit jeux sur les polygones |
---|
/* ------------------------------------ */
/* save as : c03.c */
/* ------------------------------------ */
#include "v_a.h"
#include "y_r.h"
/* ------------------------------------ */
void poly(
double **U,
double **Sides,
double **Angles,
double alpha,
double n
)
{
int i;
int c;
for(i=1;i<n;++i)
for(c=FIRST; c<Angles[C_SIZE][OF]; c++)
vo(U,i*(Angles[FIRST][c])+alpha,Sides[FIRST][c]);
}
/* ------------------------------------ */
int main(void)
{
double alpha =-90;
double a[3] ={ -12., 13.,-12.};
double s[3] ={ 10., 20., 30.};
double **U = G_main(-1000.,1000.,-1000.,1000.);
double **A = c_a_A_mR(a,I_mR(R1,C3));
double **S = c_a_A_mR(s,I_mR(R1,C3));
setup(U,-500,450.);
poly(U,S,A,alpha,50);
setup(U, 500,450.);
poly(U,S,A,alpha,100);
setup(U, -500,-600.);
poly(U,S,A,alpha,200);
setup(U, 500,-600.);
poly(U,S,A,alpha,400);
F_mR(U);
return 0;
}
Résultat dans gnuplot |
---|