Page 1 sur 1

Planche de Galton

Posté : ven. 7 juin 2013, 02:42
par maurice
Pour illustrer la loi binomiale ; normalement apparait une belle courbe en cloche !

Code : Tout sélectionner

import animation;
settings.tex="pdflatex";
settings.outformat="gif";
unitsize(.75cm);

/* Construction de la planche */

marker hexa=marker(scale(6)*rotate(30)*polygon(6), 1bp+green);

int N=10;

for(int i=0; i<N; ++i) {
  for(int j=0; j<=i; ++j) {
    real x=-i*.5;
    draw((x+j, -i), hexa);
  }
}

for(int i=0; i<N+1; ++i) label(format("%i", i), (-N/2+i, -2.25*N), S);
draw((-(N+1)/2,-2.25*N)--((N+1)/2,-2.25*N), 1bp+lightblue);
for(int i=0; i<N+2; ++i) draw((-(N+1)/2+i, -2.25*N)--(-(N+1)/2+i, -N+.65), 1bp+lightblue);
draw((0,2)--(0,1.2),red, Arrow);


/* Animation */

dotfactor=25;
// srand((int)time("%S"));

int[] resultats=array(N+1,0);
// resultats *= 0;

animation Anim;
Anim.add();
save();

for(int n=0; n<4.5*N; ++n) {
  int D=0;
  pair balle=(0,0.5);
  dot(balle);
  Anim.add();
  erase();
  restore();
  for(int i=0; i<N; ++i) {
    save();
    real s=unitrand();
    if (s>0.5) {
      D += 1;
      balle=balle+(.5,-1);
    }
    else {     
      balle=balle+(-.5,-1);
    }
    dot(balle);
    Anim.add();
    erase();
    restore();
  }
  resultats[D] += 1;
  dot((-N/2+D, -2.25*(N+.25)+resultats[D]));
  Anim.add();
  save();
}

erase();
Anim.movie(delay=100);
// label(Anim.pdf(delay=100));


Je suis preneur de toute amélioration du code.

Bruno

edit : image à suivre...

Re: Planche de Galton

Posté : ven. 7 juin 2013, 20:44
par maurice
J'essaie de joindre le .gif sans succès : fichier image non valide...
Peut-être sa taille (3.2Mo), je mets le lien alors :

http://www.mathco.tuxfamily.org/asy3d/Galton.gif

La cloche est loin d'être parfaite !

Bruno

Re: Planche de Galton

Posté : dim. 9 juin 2013, 17:27
par GM
Je découvre le message un peu tardivement : merci pour la contribution.

Je vais me permettre... dès que j'aurai le temps, de supprimer nos deuxième et troisième message pour ne garder que le premier, avec l'animation intégrée.
Je regarderai le code... et je verrai si je ne peux pas mettre l'image aussi dans un format swf.

Encore merci.

Re: Planche de Galton

Posté : dim. 9 juin 2013, 23:43
par maurice
Bonjour,

j'avais aussi essayé de mettre un .swf mais ce n'est apparemment pas autorisé.
Il faudra aussi détruire ce 4e message.

Bruno