朱莉娅在屏幕上设置分形和位置

时间:2013-06-12 07:00:04

标签: image-processing language-agnostic fractals

我正在学习如何制作Julia Set分形。我正在使用this as a reference

我非常清楚它背后的数学理论。我也可以手动计算它。但是,我不明白的是如何在参考文献中提到的程序中完成它。

作者有一些确定zoom和位移的变量,并对其进行一些计算。

有人可以解释一下它们是什么吗?

1 个答案:

答案 0 :(得分:1)

让我们来看看这一行(下面的那一行以相同的方式工作):

newRe = (x - w / 2) / (0.5 * zoom * w) + moveX;

(忽略缺少1.5因素,这就是为了确保它看起来不“压扁”。)

它在for循环中,将0w之间的值分配给x [1] 所以最左边和最右边{ {1}}值将是:

  • 最左边:

    newRe
  • 最右边:

    newRe = (0 - w / 2) / (0.5 * zoom * w) + moveX;
          = -(w / 2) / w / 0.5 / zoom + moveX;
          = -(1 / 2) / 0.5 / zoom + moveX;
          = -1 / zoom + moveX;
    

它们的区别 - 即显示的Julia分形的实际矩形的宽度 - 等于:

newRe = (w - w / 2) / (0.5 * zoom * w) + moveX;
      = (w / 2) / w / 0.5 / zoom + moveX;
      = (1 / 2) / 0.5 / zoom + moveX;
      = 1 / zoom + moveX;

(此整个计算也适用于 (1 / zoom + moveX) - (-1 / zoom + moveX) = (1 / zoom) - (-1 / zoom) = 2 / zoom newImh。)

这就是为什么增加缩放会导致我们正在检查的矩形缩小 - 这正是“放大”的原因。

[1]它实际上只有moveY,但是这个一个像素的差异使得这个计算变得更加困难。