strange symmetry
Thursday, March 27th, 2008Another old piece I spent a few extra hours on. Hundreds of particles with random starting positions are iterated, their coordinates (x,y) transformed by mundane mathematics. My homebaked expressions, several potentially chaotic attractors mangled together, look complex but are actually more weird than difficult - a bit like the expressions on the blackboard in a Gary Larson cartoon:


The code randomly generates the parameters p1 to p8 (between -2 and 2) and p0 (between 0 and 1). Most results are not very special but an occasional gem shows up. There are ways of automatically eliminating many of the less interesting cases. These not only take time but inevitably remove some nice constructs. So I left out any preselection. Think of it as searching the beach for a rare shell…
Feel free to explore the 9 parameter universe with this online version. It is very unlikely that the picture that’s forming on your screen will ever be generated exactly the same on any other machine. Since every plot is unique it’s hard to get the correct scale and position, so you’ll have to do it yourself. Zoom in and out with ‘+’ and ‘-’. Move the construct with the arrow keys. The movement is a bit chunky because the image has to redraw every time the construct moves. Pressing ‘c’ cycles through several color palettes using the particle density, velocity and acceleration in different ways. Most importantly, pressing space saves the image to the user gallery. Nothing will appear to happen for a while but give it some time to finish. Since I intentionally neglected to provide a way of storing the 9 parameters, you can never recover a lost image which hasn’t been saved. The choice is yours, share the image and lose its uniqueness or keep it to yourself and lose it forever… Oh, any other key randomly generates a new construct.
Update : I’ve improved the interface a bit. Zooming now properly respects the centering. You can also move the construct by clicking and dragging the mouse. Pressing ‘r’ will center the image on the current mouse position.


