java - Julia 集算法

标签 java math mandelbrot

我有一个曼德尔布罗集生成器:

private int calculateMandel(double positionX, double positionY) {
    int valueOne = 0;
    double complexReal = 0.0;
    double complexImaginery = 0.0;
    double complexRealSquare = 0.0;
    double complexImaginerySquare = 0.0;

    while (valueOne < MAX && complexRealSquare + complexImaginerySquare < 4.0) {
        complexImaginery = 2.0 * complexReal * complexImaginery + positionY;
        complexReal = complexRealSquare - complexImaginerySquare + positionX;
        complexRealSquare = complexReal * complexReal;
        complexImaginerySquare = complexImaginery * complexImaginery;

        valueOne++;
    }

    return valueOne;
}

在开始时将 complexRealcomplexImaginery 修改为某些值后,不知何故我无法获取 Julia 设置的值。 我究竟做错了什么?在预定义的特定点生成 Julia 集的正确算法是什么?

最佳答案

Julia set 的迭代取决于两个参数:初始值z0和常量参数c。通常,第一个是要着色的像素的位置,而第二个是描述要绘制哪个 Julia 集的参数。因此,使用像素位置来初始化复数变量,然后在每次平方后添加一个固定常量。根据我阅读您问题的方式,您以相反的方式使用了这两种方法,具有固定的初始化但依赖于位置的添加。

关于java - Julia 集算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20569497/

相关文章:

java - CouchbaseClient 如何获取存储桶中所有 DesignDocuments 的列表

algorithm - 与给定向量形成正交基的矩阵

java - 为什么余数(模数)除法返回负数

javascript - Mandelbrot 设置渲染速度太慢

c++ - Mandelbrot的每个像素计算如何划分到不同的节点?

java - 为具有多个字段的类覆盖 equals 的实用方法

java - Alpine Linux - 未找到 javac

python - 如何从调色板中进行颜色渐变

java - 检测用户是否已接受签名的 Java Applet。

c# - 找到最小的整数,当乘以一个已知的 double 时,将产生一个整数