hpdz.net

High-Precision Deep Zoom

Animations

Magnet Zoom

A major mistake!

Introduction

This page replaces the original Magnet Zoom animation page because it turns out that animation was mostly the result of a major error in the arithmetic code, and most of the structures that appear in that video are artifacts of my software, not real structures in the magnet fractals.

Click here to go to the original page.

Update January 2011

A new set of floating-point arithmetic functions has been added to the fractal rendering software. Now HPDZ can properly draw fractals with division, like the Nova fractal and, of course, the Magnet fractal.

Here is a re-rendering of the area where the problem began in the video.

Broken magnet fractal image This is the image with the bogus structures created by the malfunctioning software.

Fixed magnet fractal image This is the image rendered with the new software, free of bogus structures.

Additional deep-zoom images of the type 1 magnet fractal are here.

Details

The error had to so with detecting overflow conditions in the arithmetic code. Overflows can happen easily in this software because it uses a fixed-point arbitrary precision representation of real numbers. That means that while there are an arbitrary number of digits after the decimal point, allowing arbitrarily great precision in representing numbers, there is always only one digit to the left of the decimal point. This "digit" is actually a 32-bit unsigned integer, so the range of this representation is quite a bit larger than the range of a single decimal digit, but it is still limited, and it is easy to generate overflow conditions when dividing by small numbers.

This overflow condition was being partially tracked but not properly tested in my code. The magnet zoom video worked because the overflow conditions that were generating the artifactual fractal structures were not being detected correctly.

Artifacts in the Animation

The disconnected Julia set-like structures are artifacts. So is the tricorn fractal at the end.