我无法理解mandelbrot分形码的一些东西

时间:2014-04-13 03:58:34

标签: java javascript fractals mandelbrot

是计算功能代码。 我听说“逃避”应该是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 个答案:

答案 0 :(得分:0)

  

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

Escape radius should be greater then 2 所以任何价值&gt; 2很好。它可以改变水平集的形状和Mandelbrot集的数值近似的形状。逃逸半径的平方应大于4。

另见this question

HTH