我正在阅读这本引人入胜的书中的一章,内容是关于使用遗传编程交互式进化图像。大多数函数集由简单的算术和三角函数组成(真正操作并返回图像)。这些函数构成了对我们的图像进行编码的解析树的内部节点。树的叶子或终端值是随机数和 x,y 坐标。
有一节关于将复平面的迭代函数添加到函数集:
假设遗传学将一个特定的 Mandelbrot 集作为节点插入到浓密的树的某处。该函数需要两个参数:mandel(cReal, cImag),将它们视为复平面中的实坐标和虚坐标。如果基因组恰好提供了像素坐标 (x,y),并且 mandel() 是根节点,那么您将得到熟悉的 Mset。但是很可能 cReal 和 cImag 本身就是整个函数分支的结果,许多坐标 x,y 的实例散布在叶子之间。进入迭代循环,绕一圈,最后用一些距离 Mset 吸引子的距离来衡量,比如迭代次数。
我的问题是如何将 Mandelbrot 集渲染器作为一个函数,将复平面上点的实坐标和虚坐标作为参数并返回 Mandelbrot 集的渲染?