aboutsummaryrefslogtreecommitdiff
path: root/algorithms/mandelbrot.c
diff options
context:
space:
mode:
Diffstat (limited to 'algorithms/mandelbrot.c')
-rw-r--r--algorithms/mandelbrot.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/algorithms/mandelbrot.c b/algorithms/mandelbrot.c
index 67da2c6..51d0c43 100644
--- a/algorithms/mandelbrot.c
+++ b/algorithms/mandelbrot.c
@@ -31,19 +31,21 @@ void
*generate_mandelbrot_section(void *section)
{
data_section *d = (data_section*)section;
+ struct frame *f = &(d->parent_frame);
unsigned int x,y,i;
double a,b;
double complex z,c;
- double size_units = 3.5f;
- double top = -1.75f;
- double left = -2.5f;
+
+ defaultsd(&d->parent_frame.top, -1.75f);
+ defaultsd(&d->parent_frame.left, -2.5f);
+ defaultsd(&d->parent_frame.scale, 3.5f);
/* FIXME document this */
- b = clust_id*(size_units/size)+top; /* FIXME document this */
+ b = clust_id*(f->scale/size)+f->top; /* FIXME document this */
for (y = clust_id; y < size; y += clust_total) {
- a = d->core*(size_units/size)+left;
+ a = d->core*(f->scale/size)+f->left;
for (x = d->core; x < size; x += cores) {
z = 0;
c = a + I*b;
@@ -54,9 +56,9 @@ void
z = cpow(z , power) + c;
}
d->data[d->idx++] = (255*i)/iterat;
- a += cores*(size_units/size);
+ a += cores*(f->scale/size);
}
- b += clust_total*(size_units/size);
+ b += clust_total*(f->scale/size);
}
return NULL;
}