hpdz.net

High-Precision Deep Zoom

Still Image Galleries

The Nova Fractal

The Nova fractal was developed a long time ago by Paul Derbyshire.

The equation that generates the Nova fractal is based on the same procedure as Newton's method for solving equations, with two changes that make an enormous difference. Details are described in the Nova section of the Technical page on convergent fractals.

Some modifications based on a small bug in the initial code to render this fractal are shown below.

Deep Zoom Nova Samples

As part of the effort to extend the arithmetic code to floating-point, with assembly language 64-bit division, a few Nova fractal deep-zoom images were created.

This is definitely going to get an animation. This fractal is a gift that just keeps on giving, with wonderful new detail emerging constantly at deeper levels of zooming.

New Deep Zoom Nova Images
Nova Image

This is a huge 3000x2400 image of what is probably the deepest zoom ever into the Nova fractal, with a size of 2.75e-34.

Nova Image 6.6E-10
This is where the hardware floating-point operations lose precision and can no longer render this image with decent fidelity. This was rendered with precision 4, or 128 bits.
Nova Image 4.3E-21
At this magnification, precision 4 loses it and starts to generate artifactual fuzz in the image, which is eliminated here by switching to precision 6, or 192 bits.

Nova Gallery 1

This is a set of images exploring the classic cubic Nova fractal. Most of them are rendered at 1000x500 resolution (inspired by the 2:1 aspect ratio of our new laptop), and most have very nice anti-aliasing, some using up to a 10x10 supersampling grid.

Nova Gallery 1
NovaImageNovaImageNovaImage

Series 1: z0=(-1,0) R=(1,0)

A short series of zooms into the left arm.

Anti-aliasing with 3x3 supersampling

NovaImage

Series 2: z0=(-1,0) R=(0.5,0)

Just a single image with a different value of R.

Anti-aliasing with 3x3 supersampling.

NovaImage R=(0.5,0)
NovaImage R=(0.9,0)
NovaImage R=(1.2,0)
NovaImage R=(2,0)
NovaImage R=(2.5,0)

Series 3: z0=(0,0) AA=3x3

Varying the value of R for one particular value of z0.

Anti-aliasing with 3x3 supersampling, except the last one which uses a quincunx grid.

NovaImageNovaImageNovaImage

Series 4: z0=(0,0) R=(2.5,0)

Progressively magnifying the left branch of the final image in series 3.

Quincunx anti-aliasing.

NovaImageNovaImage

Series 5: z0=(1,0) R=(0.6,0)

Just magnifying the left antenna a little bit.

Anti-aliasing with 3x3 supersampling.

NovaImageNovaImageNovaImage
NovaImage1.8e-6
NovaImage2.4e-4

Series 6: z0=(1.5,0) R=(0.3,0)

Progressively magnifying some structures in the western branch. This series starts off being reminiscent of the western antenna of the Mandelbrot set, then at higher magnifications, it starts looking more like the Newton fractal.

Anti-aliasing with 3x3 supersampling.

NovaImage

Series 7: Newton

Setting c=(0,0) and R=(1,0), then switching to Julia-set mode rendering, where c is constant and z0 varies across the image, we get the Newton fractal. 

No anti-aliasing. Size=70.

NovaImageNovaImageNovaImage
NovaImageNovaImageNovaImage
NovaImageNovaImageNovaImage
NovaImage
NovaImage
NovaImage

Series 8: z0=(0,0) R=(1,0)

This is a series of progressively deep zooms into an area of the Nova fractal with spirals reminiscent of the structures in the  Mandelbrot set.

The larger three images at the bottom are 1200x800. The first one is anti-aliased on a 5x5 supersampling grid; the last two use a 10x10 grid.

The smaller images have 3x3 anti-aliasing except the middle one in the bottom row of 3, which has no anti-aliasing.

Nova Fractal Modifications
Nova Cubic Fractal
Nova Bug Fractal

These images show the Nova fractal with the "standard" values of the initial value z0=(1,0) and the relaxation parameter R=(1,0). Two different coloring methods are demonstrated, although the same actual sequence of colors occurs in both.

Nova Cubic Fractal

This image shows what happens to the standard Nova fractal as z0 approaches 0 (for z0=0 the Nova fractal is blank).

Compare this to the Nova Bug image below. This is how I first noticed I had a tiny math error in my Nova code.

Nova Cubic Fractal

Nova Bug -- this is due to a bug in my first attempt at writing the code for a Nova fractal. The result is nearly identical to the true Nova fractal except in a small range of parameters. In particular, the bug gave something totally different for z0=0, which inspired me to tweak the original Nova equation to give the result above.

Modified Nova Cubic Fractal

Modified Nova Fractal at z0=0. This has the modification described in the NovaBug image. It gives something totally different and quite nice when z0=0.