当前位置: 首页 > 知识库问答 >
问题:

我不能理解曼德布罗特分形代码的一些东西

唐彦
2023-03-14

这是计算功能代码。我听说“逃跑”应该是4(2^2)。因为如果(z_r*z_r z_i*z_i)小于4,它就不会无限大。但是在这个代码中,转义是1025^2。为什么?为什么1025^2

function computeRow(task) {
var iter = 0; //iteration
var c_i = task.i; //
var max_iter = task.max_iter; // = 1024
var escape = task.escape * task.escape; //task.escape=1025
task.values = [];
for(var i = 0; i <task.width;i++) {
    var c_r = task.r_min+(task.r_max - task.r_min) * i/ task.width;
    var z_r = 0, z_i = 0;

    for(iter = 0; z_r*z_r + z_i*z_i < escape && iter < max_iter; iter++) {
        // z->z^2 + c                   ▲ i wonder about this
        var tmp = z_r*z_r - z_i*z_i + c_r;
        z_i = 2*z_r*z_i+c_i;
        z_r = tmp;
    }
    if(iter == max_iter) {
        iter = -1;
    }
    task.values.push(iter);
}
return task;}

共有1个答案

须旭
2023-03-14

我听说“逃跑”应该是4(2^2)

逃逸半径应大于2,因此任何值

也看这个问题

 类似资料:
  • 我目前正在尝试用python编写一个程序,结果是绘制mandelbrot集。分形的形状看起来不错,但轮廓一点也不精确。我正试图弄清楚这个问题是来自我的数学还是我的代码 我试图提高最大迭代次数(我称之为i),看看计算是否太低,但变化不大。 我是法国人,这就是为什么你可能不明白一切。我没有粘贴所有关于定义不同深浅的蓝色等的线条...我不明白为什么我的轮廓这么糟糕。我相信它来自我的数学,但我没有看到任何

  • 虽然可视化曼德布洛特(Mandelbrot)集合与机器学习没有任何关系,但这对于将TensorFlow应用在数学更广泛的领域是一个有趣的例子。实际上,这是tensorflow一个非常直截了当的可视化运用。(我们最终也许会提供一种更加精心设计的运用方式来生成真正更加美丽的图像。) 说明:本教程使用了IPython的notebook。 基本步骤 首先,我们需要导入一些库。 # 导入仿真库 import

  • 我写了一个mandelbrot集,我读过关于julia集的文章,它非常相似,但到底是什么关系呢?我能用mandelbrot公式画一个julia集吗?起始参数是什么?请阅读我的mandelbrot集合代码: 我不确定mandelbrot集对于z是迭代的,julia集对于c是迭代的,这意味着什么?我需要更改代码吗? 更新:我更改了代码,但它不起作用。我的想法是从$re和$im开始,而不是从0开始: 更

  • 我已经成功地为Mandelbrot集上色,尽管我不能放大太远,直到它变得“模糊”并且图案停止。我通过增加max_迭代来解决这个问题,这是可行的,但在*1放大时,我得到的颜色很少,很多颜色只有在放大时才会出现。我理解为什么会发生这种情况,因为在一个“真实”的Mandelbrot集合中没有颜色,而增加max_迭代只会使它更接近这一点。但我的问题是,像youtube上这样的缩放在整个缩放过程中是如何拥有

  • 虽然可视化曼德布洛特(Mandelbrot)集合与机器学习没有任何关系,但这对于将TensorFlow应用在数学更广泛的领域是一个有趣的例子。实际上,这是tensorflow一个非常直截了当的可视化运用。(我们最终也许会提供一种更加精心设计的运用方式来生成真正更加美丽的图像。) 说明:本教程使用了IPython的notebook。 基本步骤 首先,我们需要导入一些库。 # 导入仿真库 import

  • 我正在youtube上观看opengl的EchernoProject教程,在写opengl中的着色器一集中,他用一行定义了位置属性在着色器中的起始位置: 但我的问题是,为什么他需要这样做,因为当他以前像这样使用glVertexAttribPointer时: 所以在这里,他指定了如何读取缓冲区,包括第一个位置属性索引,那么为什么他还需要像上面一样在着色器中指定它呢?