Je lis un chapitre de ce fascinant book sur l'utilisation de la programmation génétique pour faire évoluer les images de façon interactive. La plupart des fonctions sont composées de fonctions arithmétiques et trigonométriques simples (qui fonctionnent réellement sur et retournent des images). Ces fonctions constituent les nœuds internes des arbres d'analyse qui encodent nos images. Les feuilles de l'arbre, ou les valeurs terminales, sont des nombres aléatoires et des coordonnées x, y.Programmation génétique avec l'ensemble Mandelbrot
Il y a une section sur l'ajout de fonctions itératives du plan complexe à l'ensemble de la fonction:
Dites la génétique insère un Mandelbrot particulier défini comme un nœud quelque part dans un arbre touffu. La fonction attend deux arguments: mandel (cReal, cImag), en traitant comme des coordonnées réelles et imaginaires dans le plan complexe. Si le génome venait de fournir les coordonnées de pixels (x, y) et mandel() étaient le nœud racine , vous obtiendriez le Mset familier. Mais les chances sont que cReal et cImag sont eux-mêmes le résultat de branches entières de fonctions, avec de nombreuses instances de coordonnées x, y dispersées parmi les feuilles. Entrez la boucle d'itération, orbite autour pendant un moment, et finalement échapper avec une certaine mesure de la distance à l'attracteur Mset , comme le nombre d'itérations.
Ma question est comment voulez-vous faire un ensemble de Mandelbrot en fonction renderer qui prend les coordonnées réelles et imaginaires d'un point sur le plan complexe comme arguments et renvoie un rendu de l'ensemble de Mandelbrot?