diff options
Diffstat (limited to 'algorithms')
-rw-r--r-- | algorithms/mandelbrot.c | 16 |
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; } |