Я успешно реализовал набор mandelbrot, как описано в статье wikipedia, но я не знаю, как увеличить масштаб в определенном разделе. Это код, я использую:Как увеличить размер mandelbrot
+(void)createSetWithWidth:(int)width Height:(int)height Thing:(void(^)(int, int, int, int))thing
{
for (int i = 0; i < height; ++i)
for (int j = 0; j < width; ++j)
{
double x0 = ((4.0f * (i - (height/2)))/(height)) - 0.0f;
double y0 = ((4.0f * (j - (width/2)))/(width)) + 0.0f;
double x = 0.0f;
double y = 0.0f;
int iteration = 0;
int max_iteration = 15;
while ((((x * x) + (y * y)) <= 4.0f) && (iteration < max_iteration))
{
double xtemp = ((x * x) - (y * y)) + x0;
y = ((2.0f * x) * y) + y0;
x = xtemp;
iteration += 1;
}
thing(j, i, iteration, max_iteration);
}
}
Это было мое понимание того, что х0 должно быть в диапазоне -2,5 - 1 и у0 должно быть в пределах -1 - 1, и что уменьшение этого числа будет увеличить, но это действительно не работало вообще. Как я могу увеличить масштаб?
также, все множество содержится в пределах -2
2010-12-10 04:06:39
Для «бесконечных масштабирования» я считаю, что используется некоторое свойство самого фрактального алгоритма. – 2010-12-10 04:21:02