2

我写了一个曼德布罗集,我读过关于朱莉娅集的文章,它非常相似,但究竟是什么关系?我可以使用 mandelbrot 公式画出 Julia 集吗?什么是起始参数?阅读我的曼德布罗集代码:

     function complex_iterate($re,$im)
     {
           $re=strval($re);
           $im=strval($im);
           $zisqr = $zrsqr = $iter = $zIm = $zRe = "0";
           bcscale(50);

           while (floatval(bcadd($zrsqr,$zisqr)) < 4
               && $iter < $this->iterations
           )
           {
                 $zIm = bcmul($zIm,$zRe);
                 $zIm = bcadd($zIm,$zIm);
                 $zIm = bcadd($zIm,$im);
                 $zRe = bcadd(bcsub($zrsqr,$zisqr),$re);
                 $zrsqr = bcmul($zRe,$zRe);
                 $zisqr = bcmul($zIm,$zIm);
                 ++$iter;
            }
            return $iter;

我不确定这意味着 mandelbrot 集对 z 进行迭代,而 julia 集对 c 进行迭代?我是否需要更改代码?

更新:我更改了我的代码,但它不起作用。我的想法是从 $re 和 $im 而不是 0 开始:

    $zisqr = $zrsqr = $iter = 0;
    $zIm=$im;
    $zRe=$re;
    $re="-0.7";
    $im="0.27015";

更新2:我忘了这个:

    $zrsqr = $zRe*$zRe;
    $zisqr = $zIm*$zIm;
4

1 回答 1

1

正如我所见,您是 Mandelbrot 和 Julia 的新手,这里有一些定义可以了解这种关系。

  • Mandelbrot 地图:您计算并以图形方式可视化的地图
  • Mandelbrot 集:地图上那些趋于无穷的点(您通常将其涂成黑色。通常显示的 Mandelbrot 图片上那些闪亮的彩色部分不是Mandelbrot 集的一部分)
  • 连续地图:集合上的点彼此相邻(您可以从任意点开始遍历整个地图)
  • 岛屿地图:场景中的点是孤立的(你不能从起点走遍整个地图)

只有一个 Mandelbrot 集,而 Julia 集是无限的,并且一些定义说 Mandelbrot 集是所有 Julia 集的索引集。

换句话说:您可以从某个限制内的任何点计算 Julia 集(但是,如果您取较大的值,则结果可能为空)。如果您选择的点不是 Mandelbrot 集的一部分(可视化时它不是黑色像素),则生成的 Julia 集将包含岛屿。但是,如果您选择的点是 Mandelbrot 集的一部分(可视化时为黑色像素),则生成的 Julia 集将是连续的。

于 2012-12-18T11:36:00.220 回答