 |
 |
|
Overview |
 |
|
GCE |
 |
|
Marble Challenge |
 |
|
ASCIIroids |
 |
|
PSD (Second Life) |
 |
|
Gravity Bubbles |
 |
|
FractalNet |
 |
|
EcoSim |
 |
|
Cosmic Dust |
 |
|
LandMesh |
 |
|
Imagencrypter |
 |
|
Foxy Detector |
 |
|
MacDiff |
 |
|
Asteroid Belt |
 |
|
Matrix Attack |
 |
|
Solar Swarm |
 |
|
OS X Terminal |
 |
|
Tools |
 |
|
Names :-) |
|
 |
 |
 |
 |
FractalNet

FractalNet is
a distributed fractal
renderer I wrote, which generates images and videos of
the Mandelbrot and Julia sets. It
consists of about 530 lines of C code for fast iteration of the Mandelbrot equation,
and about 3,900 lines of Java code for the remainder of the
functionality. Java Native Interface (JNI) is used to connect the C and Java code together.
Some of FractalNet’s features include:
- Image output in lossless PNG format.
- HD (high-definition 1280x720) video output
in QuickTime format,
using QuickTime for Java.
- High levels of anti-aliasing for super-smooth images.
- Smooth gradient colouring (instead of separate regions of uniform colours), using
a fully-renormalised fractional iteration count.
A
simple “fractal browser” (click here for a screenshot),
which allows a user to easily explore the fractals, and view the Julia set corresponding to a particular point in the Mandelbrot set. Clicking on a point
centres the image on that point, and zooms in/out if specified. Changes in the colour scheme are updated in real-time, without needing to re-render the fractals.
- Generation of videos, using the following techniques:
- Panning around a fractal.
- Zooming in/out of a fractal.
- Rotating a fractal.
- Colour cycling.
- Transitioning from one colour scheme to another.
- Morphing a Julia set, by tracing a path through the Mandelbrot set.
- A Google Earth style of parabolic flight path between two locations in a fractal – the
“camera” zooms out from the initial location, until both the initial and final locations can be seen in the same shot, and then zooms in to the final location.
- Distributed generation of videos,
using Java RMI. A master computer and an unlimited number of slave computers are
connected together using a TCP/IP network, and the master uses the slaves to render specific frames of the video. If the slaves return their frames in the wrong order (ie.
because one slave is faster than another), the master rearranges the frames before writing them to the final video.
- Use of a plain text configuration file, which stores all the parameters for an image or video in a user-friendly, human-readable format.
Images
Please click on the tabs below to view the available images. Click on a thumbnail to view the full-size image.
 |
 |
The full-size images are displayed using Lytebox. |
Videos
Please click on the tabs below to view the available videos.
|
|
A morphing Julia set, with a transitioning colour scheme and a 180° rotation. This video required a total of 890 billion iterations (an average of 444 million iterations per frame).
Zooming out of a rainbow-coloured Mandelbrot set. This video required a total of 1,455 billion iterations (an average of 484 million iterations per frame).
“Google Earth” style Mandelbrot flight 1
“Google Earth” style Mandelbrot flight 2
Slow purple zoom
Morphing Julia set 2
|
|
|
More videos coming soon.
Buddhabrot
I’ve also implemented a simple Buddhabrot renderer in Java, which can either use the simple greyscale algorithm,
or a rainbow algorithm by Paul Nylander.
 |
 |
 |
 |
 |
 |
| Simple greyscale Buddhabrot with a slight blue tint |
Rainbow Buddhabrot (shallow iterations) |
Rainbow Buddhabrot (deep iterations) |
| Automatic country lookup for comments powered by |
 |
 |
Comments
| No comments yet. Be the first to add a comment! |
Add a comment
|
 |
 |
 |
 |
|