Sunday, June 8, 2008

Rule 30 Automaton Cylindrical Projection

This program generates and renders the output of Stephen Wolfram's "rule 30" cellular automaton. Like my previous implementation, the line of cells in which it is calculated wraps around at its ends, meaning that the line is really a circle. Unlike the previous implementation, which rendered its output in the standard two-dimensional matrix, this version takes seriously the fact that the line of cells is really a circle, and therefore plots the output on the interior of a cylinder, so the "wrap-around" behavior is visually explicit, and the output is, in effect, three-dimensional.

This is not necessarily a better visualization of the automaton's output, but it is different, interesting, and up-front about the wrap-around behavior. Make of it what you will.

Unfortunately, like my previous implementation, this one will also bring current web browsers (Firefox and 3.0, and Safari 3.1.1) to their computational knees. Once again, the computations being performed are trivial, but something about the graphics it produces overwhelms current browsers. The only browser I've tested that can handle this program even somewhat reasonably is WebKit, the open-source heart of Apple's Safari browser. (Download the latest nightly build.)

If your browser supports the Scalable Vector Graphics (SVG) standard, you'll see cylindrical projection of a Rule 30 one-dimensional cellular automaton here. Otherwise, it's time to switch to a modern browser like Safari or Firefox.

To start this program, click in the square above. To stop it—assuming your web browser will let you stop it—click in the square again. Because the program generates resolution independent graphics, it more-or-less goes without saying that opening it in a large window produces nice results.

No comments:

Post a Comment