An interactive column using Java applets
by Alex Bogomolny
Dot Patterns and Sierpinski Gasket
February 1998
In the last column, we looked into simple patterns exhibited by addition and multiplication tables. The next logical step would be to investigate the tables corresponding to various operations in modular arithmetic. But let's, for a change, look into things triangular.
So, how many ways are there to define the Sierpinski gasket (also, the Sierpinski triangle)? I counted a respectable 11 but undoubtedly there are more. I would be happy to be advised of additional ones.
From Pascal's Triangle. Replace the terms of Pascal's triangle with their residues modulo 2 [GAR, PIC, WEL]. (So we are still into modular arithmetic.)
Iterated Function Systems. In complex notations, the Sierpinski gasket is the fixed point (attractor) of the system: f1(z) = z/2, f2(z) = z/2 + 1/2, f3(z) = z/2 + (3 + I)/2 [BAR, EDG, MAN].
Image of a code space. Identify a point with a string (possibly infinite) of symbols 1,2,3 such that finite substrings are interpreted as successive applications of function f1, f2, and f3 starting with the origin. The resulting sequence of points will converge to (or coincide with) the given point [BAR, EDG]. The Chaos Game is an entertaining introduction into this coding.
L-Systems. L-Systems have originally been known as recursive sets. Objects are combinations of linear segments. Starting with an initiator, segments on any given step are replaced in the manner prescribed by a generator [EDG, MAN].
A curve. Being a uniform limit of curves (for it's defined by an L-System), the Sierpinski gasket is known to be the image of a continuous map from [0,1]. Does anyone know how to define such a curve explicitly?
1-dimensional automata. Consider an infinite string of cells that might be of two kinds (say, 0 and 1). At discrete times, cells transition depending on their kind and the kind of their immediate right neighbors. The like kinds produce 0. Two unlike kinds result in 1 [WEL]. Depict consecutive states of a string in rows growing downwards.
Finite Automata. Similar to, but different from, the discussion below, the Sierpinski gasket could be obtained as a result of a step by step automation taken modulo 2.
Bitwise operations. The non-zero entries in the table of the bitwise operation AND form the Sieprinski gasket.
In the drawing area of the applet below, we have either rows of digits or circles with colors corresponding to the digits. Patterns in the drawing area are defined row-by-row starting from the upper row which consists of clickable digits (or circles.) The value p of a node is defined by values (q1 and q2) of the two nodes immediately above it according to the following formula:
p = q1 + q2 (mod N),
where N is the modulus of the arithmetic used. Think of the applet as presenting a finite view of an infinite lattice of nodes filling the lower half plane. All omitted nodes are assigned the value of 0. The applet has the following controls:
Every dot in the upper row is clickable. With every click the digit (or the corresponding color) cycles through the sequence of residues 0, 1, 2, 3, ..., N-1.
When creating a new pattern, you can select to get a single nonzero digit in the upper row, or a random pattern, or the whole upper row carrying the same digit (1).
By checking "Multiplies" you request to associate all nonzero digits with a single color. In this case, the pattern consists of two colors only with 0 using the foreground color. So that the colors are in a sense reversed.
You can also choose to see a pure triangle with a single node in the upper row. The apex of the triangle is still clickable.
(Please note that when the number of rows is close to the maximum of 50, the drawing is slow. Be patient.)