]]>

05 août 2007 Accueil

fractales



Hello, je me suis interressé il y a peut à la création d'image généré par ordinateur, le concept est simple: le but est de coder un programme qui va generer une image selon certain critère ou formule, voici donc la modelisation d'un ensemble de julia crée graçe à un script php.

et voici le code php permettant de créer une animation montrant l'evolution de la representation de l'ensemble de julia en fonction du nombre complexe C:



/*===constantes===*/
$winX = 800;
$winY = 800;
$nbIterations= 255;
$Cx = -0.1857698;
$Cy = 0.76037465329;
/*================*/


$image = imagecreatetruecolor($winX,$winY);
$noir = imagecolorallocate($image, 0, 0, 0);
$blanc = imagecolorallocate($image, 255, 255, 255);

set_time_limit(25000);

while($Cy > -0.1857698)
{
for($X=0;$X<=$winX;$X++)
{
for($Y=0;$Y<=$winY;$Y++)
{
$n = 0;

$x = ($X-$winX/2) / ($winX/3.2); //On ramene les points dans le carre de cote 3
$y = ($Y-$winY/2) / ($winY/3.2); // centré a l'origine



do
{
$n++;

$x_save = $x;
$y_save = $y;
$x = $x_save*$x_save - $y_save*$y_save + $Cx;
$y = 2*$x_save*$y_save + $Cy;
}while($n<$nbIterations && sqrt($x*$x + $y*$y)<4);

/*printf('|'.$n);*/


$couleur = imagecolorallocate($image , $n%20, 5, $n) or die(printf('bug '));
ImageSetPixel ($image, $X, $Y, $couleur) or die(printf('bug'));
}
}


header ('Content-type: image/png');
$filename = 'plop/fractale'.$Cy.'.png';
imagepng($image, $filename);
$Cy = $Cy - 0.0001;
}
?>