Recently, I became interested in visualizing math functions [Lorenz Attractor] [Normal Distribution] in Tableau. It's a great way to learn math and learn some advanced features of Tableau. Zen Master Noah Salvaterra's masterful article taught me how to use state iterations in calculating recursive functions. A speech by Stephen Wolfram in which he showed many fun images engendered by cellular automata, picked my curiosity. I want to see if I can render them in Tableau.
After quite a bit of trial and errors, along with self doubts and struggle, I finally made it work! Among the 256 variants, a few of them reproduce the Sierpinski Triangle or similar! Zen Master Joshua Milligan created it in a different approach in Tableau.
The data set
It is very simple. Only 4 rows data are needed.
We only need to define 4 points in the grid. The size along each dimension is defined by a parameter. The other data marks are created through data densification.
The parameters
M: 2M+1 is the width of the grid because we need an odd number.
N: The height of the grid.
Rule: the 256 rules of the cellular automata.
The state in a string
The calculation of each point is a function of the previous row and the two extra wraparound bits. Thus a 2M+3-bit string is used to store those bits. Through iterations, the state string is updated at each iteration. A recursive function is a state machine after all.
The formula is built on previous_value() function which keeps the state string.
The rules
I used the latest Viz-in-Tooltip to show the rule being used. Also added link to my twitter, rules by Wolfram and Wikipedia's entry on cellular automata.
The red button
The default view of the chart is in black and white. The red button is used to show a colored version of the chart, making it a bit more dramatic.
That's it! Click image to access the interactive version. Note that we picked the phone size for the viz. You can view it right from your phone.
Add a comment