Fougère de Barnsley

Fougère de Barnsley

Messagepar P.Fradin » 18 Déc 2010 15:52

De l'ancien forum: la fougère de Barnsley (fichier source):

Code: Tout sélectionner
TeXgraph#
{version 1.95-beta-10}
Cmd   [Fenetre(-2+6*i,2.75+0.08*i,1.66+1.66*i), Marges(0,0,0,0), Border(0)];
   [OriginalCoord(1),IdMatrix()];

Var
    anglea = 70*deg;
    angleb = 80*deg;
    anglec = 5*deg;

Mac
    branche = {branche(niveau) }
   [$n:=%1, $h:=i*0.45,
   Color:=MixColor(green,1,brown,n),
   {Drectangle(-0.125/8,0.125/8,h),}
   Ligne([0,h],0),
   if n>0 then
      SaveAttr(),
      ComposeMatrix( matrix(z*0.35*exp(i*anglea)+h) ),
      branche(n-1), {branche gauche}
      RestoreAttr(),
      SaveAttr(),
      ComposeMatrix( matrix(z*0.35*exp(-i*angleb)+h)),
      branche(n-1), {branche droite}
      RestoreAttr(),
      SaveAttr(),
      ComposeMatrix( matrix(z*0.85*exp(-i*anglec)+h)),
      branche(n-1), {branche centrale}
      RestoreAttr()
   fi
   ];
    fougere = {fougere( niveau )}
   [SaveAttr(), $h:=i, Color:=brown, Width:=4,
    for $k from 1 to %1 do
      {if Width>1 then Inc(Width,-1) fi,}
      Ligne([0,h*1.001],0),
      if k<%1 then
         SaveAttr(),
          Width:=1,
          ComposeMatrix( matrix(z*0.75*exp(-i*angleb)+h)),
          branche(7), {branche droite}
          RestoreAttr(),
          SaveAttr(),
          Width:=1,
          ComposeMatrix( matrix(z*0.75*exp(i*anglea)+h) ),
          branche(7), {branche gauche}
          RestoreAttr(),
          ComposeMatrix( matrix(z*0.85*exp(-i*anglec)+h*0.99))
      fi
    od,
    RestoreAttr(),
   ];

Cmd   [Width:=8,AutoReCalc:=0];
Graph objet1 = [
   background(full,beige),
   fougere(20)
   ];



Image


La fougère est dessinée par les macros fougère( niveau) et branche( niveau ).

NB: dans le fichier la fougère est dessinée avec 20 niveaux et 7 niveaux pour les branches, le temps de calcul est assez long, compter une à deux minutes. L'export a été fait en pdf (non compilé).
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Fougère de Barnsley

Messagepar Alphonse Capriani » 19 Déc 2010 15:36

Bon boulot Patrick!! T'as pas mis longtemps à la remplir cette nouvelle rubrique sur les fractales... :lol:
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY


Revenir vers Objets fractals

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité