Friday 12 October 2007

Aptus is a side project I’ve been tinkering with the last few months. It’s a Mandelbrot set explorer and renderer.

A portion of the Mandelbrot set

Aptus is written in Python with a wxPython user interface. It runs on Windows, Mac, and Linux. It has a computation engine in C for speed, with boundary tracing and cycle detection for more speed. There’s also a command-line renderer for making higher-quality renderings by supersampling pixels to get smoother contours and more detail.

There are other Mandelbrot explorers of course. Xaos is particularly good at interactivity, but is poor at controlling the look of the image. I wrote Aptus partly to improve the look of the final rendering, and partly to have fun on a side project.

This is one of those side projects with a number of different facets to hold my attention as my interests shift. In a visual mood, I can extend the graphic options; in a quantitative mood, I can dig out a little more speed from the engine, and so on.

Side projects have always been a good way for me to extend my skills. For example, this is the first time I have undertaken a C extension for Python. Writing Aptus has also forced me to examine and deepen my understanding of floating point numbers, and GUI programming is always a challenge.

Plus, I like looking at the pretty pictures...


Add a comment:

Ignore this:
Leave this empty:
Name is required. Either email or web are required. Email won't be displayed and I won't spam you. Your web site won't be indexed by search engines.
Don't put anything here:
Leave this empty:
Comment text is Markdown.