PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → Hors-sujet → Désinez fractale mandelbrot
Désinez fractale mandelbrot
Débuté par Philippe Pasquali, 12 jan. 2018 13:44 - 1 réponse
Membre enregistré
946 messages
Popularité : +102 (110 votes)
Posté le 12 janvier 2018 - 13:44
C'est juste pour le plaisir des yeux....
un champ «image1»
un champ de saisie «SAI_ITERATIONS» masque '999' défaut 64
un bouton «Desiner»
OUTPUT_WIDTH, OUTPUT_HEIGHT, MAX_ITERATION, x, y, r est un entier
i est un entier sans signe
Color est un entier sans signe sur 2 octets
p_i, p_r, new_r, new_i, old_r, old_i est un réel
START_X, START_Y, ZOOM est un monétaire
COLOR_TABLE est un tableau de 0 entier sans signe sur 2 octets

//------
OUTPUT_WIDTH = Image1..Largeur
OUTPUT_HEIGHT = Image1..Hauteur
START_X = -0.75
START_Y = 0.0
ZOOM = 0.5
MAX_ITERATION = SAI_ITERATIONS
InitHasard()
FOR r=1 _TO_ MAX_ITERATION
TableauAjoute(COLOR_TABLE, RVB(Hasard(0, 255), Hasard(0, 255), Hasard(0, 255)))
END

Sablier(True)
dDébutDessin(Image1, dEffacer)
FOR y=0 _TO_ OUTPUT_HEIGHT-1
p_i = (y - OUTPUT_HEIGHT / 2.0) / (0.5 * ZOOM * OUTPUT_HEIGHT) + START_Y
FOR x=0 _TO_ OUTPUT_WIDTH-1
p_r = 1.5 * (x - OUTPUT_WIDTH / 2.0) / (0.5 * ZOOM * OUTPUT_WIDTH) + START_X;
new_r = 0; new_i = 0; old_r = 0; old_i = 0; i = 0
WHILE ((new_r * new_r + new_i * new_i) < 4.0 _AND_ i < MAX_ITERATION)
old_r = new_r
old_i = new_i
new_r = old_r * old_r - old_i * old_i + p_r
new_i = 2.0 * old_r * old_i + p_i
i++
END
Color = COLOR_TABLE[i]
dPoint(x, y, Color)
END
FenRepeint()
END
Sablier(False)


Bonne et heureuse année 2018
Membre enregistré
948 messages
Popularité : +30 (92 votes)
Posté le 15 janvier 2018 - 16:32
Coucou,

Génial ton idée !





#hautepiraterie

--
In üs we trust - Autopsie Volume 1 bientôt disponible chez ton armurier.