我有一个曼德尔布罗集生成器:
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;
}
在开始时将 complexReal
和 complexImaginery
修改为某些值后,不知何故我无法获取 Julia 设置的值。
我究竟做错了什么?在预定义的特定点生成 Julia 集的正确算法是什么?
最佳答案
Julia set 的迭代取决于两个参数:初始值z0和常量参数c。通常,第一个是要着色的像素的位置,而第二个是描述要绘制哪个 Julia 集的参数。因此,使用像素位置来初始化复数变量,然后在每次平方后添加一个固定常量。根据我阅读您问题的方式,您以相反的方式使用了这两种方法,具有固定的初始化但依赖于位置的添加。
关于java - Julia 集算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20569497/