johnny-morrice / godelbrot

Unix-style Mandelbrot set renderer in Golang
MIT License
8 stars 1 forks source link

bigfloat region algorithm is broken #1

Closed johnny-morrice closed 8 years ago

johnny-morrice commented 8 years ago

Getting visual defects with bigfloat+region. Looks like it takes place below the Y axis, but I haven't really investigated.

I tracked a similar problem with bigfloat+sequence down to unintended reuse of a math.big.Float object.

I can see a number of places where we don't explicitly Copy(). I didn't think it would be a problem, since they weren't used past that point (in terms of writing to the receiver). Perhaps it would be best to Copy() every time (premature optimization being the root of all evil and all).

johnny-morrice commented 8 years ago

The error is in sequence rendering as part of the region algorithm.

It seems only to affect Imag(c)<0

The attached image was created by suppressing the "region" part of the algorithm, then rendering with the following command line:

configbrot --numerics bigfloat --prec 53 | renderbrot > img/big.png

big-trash