Monday, 27 September 2010

Exploring a Fractal Map

When I was a kid, I fell in love with fractals. I recall that there was a book that my dad had in which there was a diagram illustrating the self-similarity of fractal patterns. This diagram consisted of a series of images taken from a fractal generated coastline; each one zoomed in on the centre square of the previous one. I didn’t particularly care about the message at the time, but I so desperately wanted to explore that coastline.

Years later, while in college I discovered that the ‘Clouds’ command of Photoshop combined with increasing the contrast gave similar images to that old memory of an imaginary coastline. I played around with this for a long time, trying out different experiments, thinking about the places these maps represented and trying to find a way to zoom in on the coastline in a meaningful way. But I never found that functionality.

Then I learned how to program.

It took me a long time to get back to the idea though. It always seemed like a lot of work for an unclear gain. It wasn’t until my programming confidence was high enough that I decided to do it. It still took some doing as I learnt the difference between square noise and diamond square noise. But eventually I wrote this program:

DiamondSquareTest.exe



(Left click to zoom in on a point, right click to zoom out.)

However, I didn’t have anything to do with it other than spend a few hours exploring random coastlines. Which I did. But I feel like there should be some way to either make a game out of this or to make it a useful tool for sit down role players. I’m aware of a few bugs in the program, and I can think of some obvious improvements – but without a clear end point for why someone would want a map that they can endlessly zoom into, I’ve never felt like fixing it.

Which is why I’m posting this here. If anyone can suggest any uses for this, I would be highly appreciative.