Latest Publications

The Sound of Chaos

Chaos theory and its little cousin – strange attractors – have been around for a long time. Pictures of chaotic systems and strange attractors abound, and they are a mainstay for computer math experimentalists, although still in the minor leagues relative to the Mandelbrot set.

Most implementations tend to ignore the fact that these systems represent dynamics, that they move and evolve. Still pictures can hide the fact that, for example there are sink states, and that was supposed to represent 20,000 iterations only shows 5,000 because the system hit a fixed point at iteration 5,001.

Years ago I wrote a Windows program to show the dynamics of strange attractors, but that experiment quickly moved over to computing the dynamics of iterated function systems, iterated rational polynomials, and Kleinian groups. And I always wanted to use these systems to generate sounds.

All that remained on the back burner until this year. I recently discovered that the Flash Player now supports on-the-fly sound generation. And an implementation in Flash would conform to my self-imposed mandate to write only software that was browser based. So I downloaded the latest Flex Builder beta from Adobe and set about learning enough Actionscript to get this project going.

It’s been a tough slog because Flex 4 has many departures from Flex 3, in particular the Spark component set, which is sort of the same as Halo, but also different. So hard times for a newb.

Anyways, I’ve got a bare example experiment going, which is in my beta area. It comes with a video that should explain what’s going on.

SeaDragon – Microsoft does something right

In the past year, I’ve experimented with different ways to visualize non-Euclidean tessellations.  Mainly, I’ve made movies with simple zooms or animations. But sometimes I think I want something more interactive, so that viewers can explore tessellations as they wish, as opposed to watching them fly by.

Last year, I dabbled with creating some ways of interactively zooming into images using the browser.  Here are some examples, one using Javascript, and another using Google Maps.  The first one was kind of a Javascript learning project for me, as was the second.  Both suffer from latency problems.

Then I discovered Seadragon.com, a Microsoft site for creating and hosting zoomable images.  Seadragon technology comes in various flavors, including one that uses pure Javascript, and another that uses Silverlight.  The functionality is similar to the zooming functionality of Google Maps, but has a nicer feel.  An example, using one of my images, can be found at http://seadragon.com/view/4bj, or seen below.

Note that there are controls for zooming in and out, and for using the full browser window.  You pan by clicking and dragging on the image.  The controls have a nice springy physics to them, and interactivity feels like real time.  And even though you may not be able to exactly contr0l the zoom levels as finely as you like, the zoom transitions are continuous. The original image was 24000 x 13500 (324 megapixels)

Math with a soundtrack

There’s something about music or a soundtrack that really enhances what would otherwise be just a silent movie. So I plan to add music to my visualizations as time and inspiration allow. Here’s an example that I did a week or two back. The original movie was 24 seconds long, but now it’s been slowed down to accommodate an atmospheric soundtrack.

Hyperbolic Kaleidoscope from Peter Liepa on Vimeo.

Scoring the Boulder Dash theme

A few weeks ago I discovered noteflight.com, a website that lets you create musical scores.  I’ve always wanted to use scoring software, but never got around to it until – well you know, the price was right.

Years ago I wrote a computer game called Boulder Dash.  The music for that was composed in a very basic soundtrack editor I wrote for the Atari 800, and was never actually played on a real-world instrument.  I’ve always wanted to convert that music to a real score and hear what it would sound like on, say, the piano.

I dug up some old listings and transcribed the music, which was encoded in all of 256 bytes, and represented 16 bars of music in two voices.

Here’s the result (the play button is at the upper left of the snippet):

In the original game, the 16 bar melody repeated endlessly, ceasing only when the user pressed the Start button.  Here, I give two reps, followed by a tacked-on finish.  One of the things I discovered, through the help of a friend with music theory background, is that this kind of repeating passage is called a vamp (in musical theatre circles), and that the key signature (which I admit had been puzzling me) is C minor.

By the way, some of Noteflight’s amazing features show through in the score snippet above.  Not only can you play the score by pressing the forward button, but you can click individual notes and play them (or play notes that share the same stem by clicking on the stem).  Each bar has its own play button, so you can start play in mid-score.  You can select groups of notes, staffs, bars, etc – check it out by hovering over different parts of the score. Shift-P will start playing from your current selection.  For more of this awesomeness – and actual music-editing functionaliy, go to their site. Or click on the Noteflight icon at the lower right of the snippet to see the full score.

Mating movie

Just stumbled across this mating movie at Curt McMullen’s site.  I used to play a lot with fractals that were hybrids between quadratic Julia sets.  This is apparently a movie of one of these matings evolving.

Updating classic math illustrations

I recently saw this classic image from over a century ago attempting to illustrate the limit set of a reflection group.
Fricke, R., and Klein, F., Vorlesungen uber die Theorie der automorphen Funktionen, Teubner Leipzig, Germany, 1897.

Fricke, R., and Klein, F., Vorlesungen uber die Theorie der automorphen Funktionen, Teubner Leipzig, Germany, 1897.

Benoit Mandelbrot computed a more exact version a few  decades ago.

Mandelbrots version

Mandelbrot, B. B., "Self-Inverse Fractals Osculated by Sigma-Discs and the Limit Sets of Inversion Groups," Mathematical Intelligencer 5 (1983), 9-17.

Mandelbrot’s version is more correct as far as the limit set goes, but it doesn’t show the tessellation (the white and shaded regions in the first drawing).  The software I’ve been building should do a better job of showing both the limit set and tessellation.  But that’s a project for a bit later.

Jan 25, 2010: In a comment to this post, Xavier Buff has pointed out that the limit set and tessellation have been computed at http://images.math.cnrs.fr/Un-ensemble-limite.html.  The pictures there are very nice, especially since separate components of the fundamental region have been give different colorings.  The site contains other mathematical visualizations as well – you can browse at http://images.math.cnrs.fr/-Images-et-visualisation-.html.

Classroom treat

I just got word that a UK professor was going to show these movies to her hyperbolic geometry class today, as a treat for the last class of the term.

Reminds me of when I was in public school and we got ice cream on the last day of school.

In another day and age, they would have been asked to get out their rulers and compasses and draw the thing, as shown here. Up until recently, that’s representative of the best depiction mathematicians had.

The movie that corresponds to it is here.

Some progress

Obviously I haven’t been diligent in maintaining this blog. But I’ve made some progress. Much remains to be explained, but I’ve posted a couple of movies at brainjam.ca/hyperbolic that show the kind of thing I’m aiming for. They’ve been made using UltraFractal, which frees me from the tedium of writing my own UI and rendering framework and allows me to use its built-in language to concentrate entirely on the math.

Intro

I’ve set myself the task of creating a movie that shows a hyperbolic tessellation. This project has been brewing in one form or another for years, but I’ve finally got the time and motivation to at least get started on it. Along the way, we’ll follow background, progress and various tangents. Although the math part is important, the software part will play a role, because at the moment I’ve got too many choices.