Example 10. Pixel Accretion Yielding a Dissipative Structure
In the first frame of the animated gif (10.1, below), 100 pixels are randomly seeded with gray values between zero (black, K) and one (white, W) at positions that are also random. The matrix is 150 x 150 and corresponds to this 300 x 300 image. In 25 frames, all pixels will be consumed by the center. Pixels are shifted to the center, added if they fall on a coincident matrix element (x, y position), and pseudocolored by lookup into the 'hot map' previously discussed. Consumption, or accretion, of pixels is due to a 'bucket brigade' of values being passed from tiled 3x3 submatrices to 2x2 submatrices. At all positions in the matrix, direction from the center is known according to a mask matrix (see computer code). With north (N) indicating 'up' in the image, south (S) as down, west (W) as left, and east (E) as right, as in a typical map, the mask matrix tells pixels whether to move NE, NW, SE, or SW to converge on the center.
This 'bucket brigade' works first at the level of the 3x3 submatrices that tile the entire image - without overlap. The sum of each 3x3 is passed to the corner nearest the center and all other elements within the 3x3 are zeroed. Then, 2x2 submatrices, placed on a lattice of a multiple of three in both dimensions, pick up these corner sums from the four adjacent 3x3 matrices, sum any converging values, and pass this aggregate sum to the 2x2 corner element that is closest to the center. Pixel addition increases color intensity on the pseudocolor hotmap scale as pixel values are combined up to the brightest value (white) which is then clipped and passed along further until it is accreted by the center pixel.
Image 10.1 shows 25 frames (as an animated gif, above), starting from 100 pixels that were randomly placed and randomly colored within this 150 x 150 matrix. From an extreme corner, a pixel value can be moved to the center in 25 steps using the diagonals of communicating 3x3 matrices. This simulation can be restarted and reseeded with new random number generator values to give a generalized description of this accretion process. Pixels can also be added per frame to create a steady state. In Image 10.2, shown below, new pixels were added and the center dissipative structure appears to consistently form as a cross, modulated only by the low number of pixels used and their subsequent randomness in sampling.
Image 10.2 (above) shows every 25th frame of frames 25 - 500 in a simulation beginning as in Figure10.1, except 3 new pixels and 4 new pixels are randomly colored and positioned within each computational loop for the top half and bottom half of the image, respectively. This asymmetric re-seeding leads to a steady-state approximation of a cross. Pixels are added at about the same rate they are consumed. One can draw an analogy with gravity pulling all pixels towards the center pixel: Newly added pixels as analogous to adding mass, and increasing mass at any given position is indicated by increasing color. The central cross that forms in this imagery is somewhat irregular and has the characteristics of a physical dissipative structure. Dissipative structures can develop in physical reality within (irreversible) thermodynamic systems that are open to matter and energy flow. A good example is a cyclone.
The computer code associated with this example is intended to be pedagogical in nature, i.e., the simple path of pixels and their addition within loops of computer code can be followed - pictorially - in the above graphics. In fact, the code contains additional features that are not used here, including a capability of the mask matrix to detect eight different directions that lead to the center (octapole) rather than the four corners used here (quadrapole). This is a stand-alone module of code, in that the hotmap code is also included within this source code. Complete code can be downloaded by hyperlink to nb format and to PDF.