[Flash // ActionScript] Ensemble de Mandelbroot

Ensemble de Mandelbroot [Flash // ActionScript] - Web design - Graphisme

Marsh Posté le 03-06-2005 à 00:27:36    

je cherche un code source sympa pour créer une fractale de Mandelbroot..
 
Je suis téja tombé sur des trucs pas mal, mais le code est soit erroné, soit trop compliqué pour moi ..
 
Si vous pouviez me renseigner ;)
 
merci


---------------
Vidéos de tueurs en jeux vidéo -  Sleeper Cell - [url=http://forum.hardware.fr/hfr/Discussions/Sciences/dernieres-tec
Reply

Marsh Posté le 03-06-2005 à 00:27:36   

Reply

Marsh Posté le 03-06-2005 à 00:45:02    

FRAME1

MaxIters = 250;
SIZE = 130;
LEFT = -2;
RIGHT = 1;
TOP = 1;
BOTTOM = -1;
_root.nop = "Number of pixels:";
startime = getTimer();


 
 
 
FRAME2

if (y < SIZE)
{
    x = 0;
    y = y + 1;
    oldrowtime = rowtime;
    disptime = "running time:" + int(getTimer() / 1000) + " seconds";
    _root.yp = "Current y position=" + y;
}
else
{
    disptime = "Total running time:" + int(getTimer() / 1000) + " seconds";
    bench = int(ni / int(getTimer() / 1000)) + " iterations per second";
    stop();
}  


 
 
FRAME3

if (x < SIZE)
{
    x = x + 1;
    _root.xp = "Current x position=" + x;
    zr = 0;
    zi = 0;
    cr = LEFT + x * (RIGHT - LEFT) / SIZE;
    ci = TOP + y * (BOTTOM - TOP) / SIZE;
    rsquared = zr * zr;
    isquared = zi * zi;
    for (count = 0; rsquared + isquared <= 4 && count < MaxIters; count++)
    {
        zi = zr * zi * 2;
        zi = zi + ci;
        zr = rsquared - isquared;
        zr = zr + cr;
        rsquared = zr * zr;
        isquared = zi * zi;
        _root.ni = _root.ni + 1;
        _root.noi = "Number of iterations done:" + _root.ni;
    } // end of for
    if (rsquared + isquared <= 4)
    {
        depth = depth + 1;
        duplicateMovieClip(_root.pixel, "pixel" + x + y, 16384 + depth);
        _root["pixel" + x + y]._alpha = (rsquared + isquared) * 500;
        _root["pixel" + x + y]._x = x * 2;
        _root["pixel" + x + y]._y = y * 2;
        _root.np = _root.np + 1;
        _root.nop = "Number of pixels:" + _root.np;
    }  
}
else
{
    gotoAndPlay(2);
}


 
FRAME4

gotoAndPlay(3);


 
 
 
 
 
Trop fastoche [:huit]

Reply

Marsh Posté le 03-06-2005 à 00:57:16    

oula ..
j'essaye ca direct ..
merci ;)


---------------
Vidéos de tueurs en jeux vidéo -  Sleeper Cell - [url=http://forum.hardware.fr/hfr/Discussions/Sciences/dernieres-tec
Reply

Marsh Posté le 03-06-2005 à 01:03:47    

euh.. ca a pas trop l'air de marcher.. Faut faire quoi en plus des 4 frames ?
 
c'est normal qu'y ait pas createEmptyMovieClip ??
 
NB : j'ai aussi essayer en créant un MC nommé "pixel"... :/


---------------
Vidéos de tueurs en jeux vidéo -  Sleeper Cell - [url=http://forum.hardware.fr/hfr/Discussions/Sciences/dernieres-tec
Reply

Marsh Posté le 03-06-2005 à 01:08:08    

ouille je ne suis pplus sur mon PC là mais sur mon laptop. Je regarderais ça demain.
 
Et je posterais le résultat une fois bien secoué au shaker  :D  

Reply

Marsh Posté le 03-06-2005 à 01:17:41    

ok
thx a lot


---------------
Vidéos de tueurs en jeux vidéo -  Sleeper Cell - [url=http://forum.hardware.fr/hfr/Discussions/Sciences/dernieres-tec
Reply

Marsh Posté le 03-06-2005 à 10:45:01    

:whistle:  ;)


---------------
Vidéos de tueurs en jeux vidéo -  Sleeper Cell - [url=http://forum.hardware.fr/hfr/Discussions/Sciences/dernieres-tec
Reply

Marsh Posté le 03-06-2005 à 12:29:32    

Reply

Marsh Posté le 03-06-2005 à 12:58:10    

merci bien
je teste :)
 
ah mais en fait j'étais teja tombé dessus mais le code est foireux :

Code :
  1. for (var px = 0; px


 
ca veut rien dire ca :/


Message édité par vinz007 le 03-06-2005 à 12:59:52

---------------
Vidéos de tueurs en jeux vidéo -  Sleeper Cell - [url=http://forum.hardware.fr/hfr/Discussions/Sciences/dernieres-tec
Reply

Marsh Posté le 03-06-2005 à 13:05:59    

mmh.. j'ai reussi à chopper le code correct, il n'y a plus d'erreurs mais il ne se passe rien pour autant :(
 
a voila, ca y est .. manquait une variable ..
 
pour ceux que ca intéresse, voici le code :

Code :
  1. MaxiY = 80;
  2. MaxiX = 100;
  3. Im = -1.250000;
  4. py = 10;
  5. _root.onEnterFrame = function() {
  6. if (py<MaxiY) {
  7.  Re = -2;
  8.  var px = 0;
  9.  while (px<MaxiX) {
  10.   if (px == 0) {
  11.    ++py;
  12.   }
  13.   // end if
  14.   Zr = Re;
  15.   Zi = Im;
  16.   n = 1;
  17.   var mk = 0;
  18.   while (mk<100) {
  19.    a = Zr*Zr;
  20.    b = Zi*Zi;
  21.    if (a+b>4) {
  22.     break;
  23.    }
  24.    // end if
  25.    Zi = Zr*Zi;
  26.    Zr = a-b+Re;
  27.    Zi = Zi+Zi+Im;
  28.    n = n*10.000000;
  29.    ++mk;
  30.   }
  31.   // end while
  32.   nn = Math.sqrt(Math.sqrt(n));
  33.   couleur = nn << 16 | nn*2 << 8 | nn*8;
  34.   _root.lineStyle(4, couleur, 80);
  35.   _root.moveTo(5*px-1, 4*py-1);
  36.   _root.lineTo(5*px+1, 4*py-1);
  37.   _root.lineTo(5*px+1, 4*py+1);
  38.   _root.lineTo(5*px-1, 4*py+1);
  39.   Re = Re+2/MaxiY;
  40.   ++px;
  41.  }
  42.  // end while
  43.  Im = Im+3/MaxiX;
  44. }
  45. // end if
  46. };


 
 
 
NB : si vous aviez mieux à proposer, je suis tjs preneur :d


Message édité par vinz007 le 03-06-2005 à 13:07:41

---------------
Vidéos de tueurs en jeux vidéo -  Sleeper Cell - [url=http://forum.hardware.fr/hfr/Discussions/Sciences/dernieres-tec
Reply

Marsh Posté le 03-06-2005 à 13:05:59   

Reply

Marsh Posté le 03-06-2005 à 14:23:39    

jai encore besoin d'un peu d'aide avec le code que j'ai mis juste au-dessus ::
apparemment la fractale se forme en (0,0) .. mais je voudrais pouvoir la mettre ailleurs (300,400) par ex.
mais je ne vois pas ce qu'il faut changer ..
help :)


---------------
Vidéos de tueurs en jeux vidéo -  Sleeper Cell - [url=http://forum.hardware.fr/hfr/Discussions/Sciences/dernieres-tec
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed