Я бился головой об этом весь день. Я чувствую, что это действительно должно работать! Независимо от того, что я делаю, чтобы настроить это, он выводит одну точку. Любая помощь будет очень ценится!
double x_init, y_init; //These will be the real and imaginary aspects of C
double x_temp, y_temp; //We gotta hold values while we update the new x, y since they are based recursively on previous values;
double arg; // This will be our square root testfor (double y = - 1.6; y < 1.6; y += .002)
{
for (double x = -1.5; x < 0.6; x += .004)
{
x_init = x;
y_init = y;
int iter = 0;
arg = 0;
while(iter < 50 && arg < 2)
{
x_temp = x;
y_temp = y;
x = (x_temp * x_temp) - (y_temp * y_temp) + x_init;
y = 2 * x_temp * y_temp + y_init;
arg = sqrt(x*x + y*y);
iter++;
}
if (iter > 40)
{
drawBlack(x_init, y_init);
}}
}
Есть 2 проблемы:
1) Вы установили максимальное количество итераций равным 50, но затем вы используете максимальное количество итераций, равное 40, чтобы определить, следует ли рисовать черным.
2) Вы используете координаты x и y уравнения для рисования. Вам нужно сохранить отдельные координаты пикселей x и y, в которых вы рисуете.
Других решений пока нет …