Lectures 9&10

Cells & Pix-cells (Pixels)

blue CA

1. Cellular Automata

References & Reading Material:

Burks, A.W. (ed)
"Essays On Cellular Automata",
University of Illinois Press, 1970.

Gardner, M.
"The Fantastic Combinations of John Conway's New Solitaire Game, 'Life'",
Scientific American 223(4), pp120-123, 1970

Langton, C.G.,
"Studying Artificial Life with Cellular Automata",
Evolution, Games & Learning - Models for Adaptation in Machines & Nature,
(eds) Farmer et al, Fifth Conf. On Non-linear Systems, North-Holland, pp120-149, 1985





What are Cellular Automata?

Complex global behaviour emerges through the application of simple local rules.
(Have you heard that one before!?)


Where'd the idea come from?

In the 1950's, Von Neumann came up with the idea whilst working on a suggestion from his friend Ulam (a mathematician) as to how to construct a computer program capable of self-reproduction.

vonNeumann


Analysis of Cellular Automata

one-D CA

The properties of dynamical systems such as CA's may be loosely characterized by referring to their long term behaviour:

  • Strange Attractor: System behaves chaotically for all eternity.

  • Limit Cycle: System falls into an infinite loop.

  • Fixed Point / Limit Point: System halts.

To relate these general principles of dynamical systems to CA's, Wolfram classifies CA's as follows:

  • Moves into a homogeneous state
    - limit point

  • Moves into simple, separated, periodic structures
    - limit cycle

  • Produces chaotic aperiodic patterns
    - strange attractors

  • Produces complex patterns of localized structures
    - virtual life?!


The Game of Life
by John Conway

Rules for transition table...



Some common formations...

spinner spinner1 spinner2 spinner1
Spinner (animated) 1 2 1
glider glider1 glider2 glider3 glider4 glider1
Glider (animated) 1 2 3 4 1


2. Reaction-Diffusion Systems (RD)

sea shells

RD-generated shell patterns
(Fowler, Meinhardt, Prusinkiewicz 1992)

References:

A. Turing,
"The Chemical Basis of Morphogenesis",
Philosophical Transactions of the Royal Society, Vol. 237, pp37-72, August 14, 1952

J. Cohen, I. Stewart,
"Let T equal tiger",
New Scientist, pp40-44, 6 Nov 1993


G. Turk,
"Generating Textures on Arbitrary Surfaces Using Reaction - Diffusion",
SIGGRAPH proceedings, pp289-298, 1991

What is a Reaction-Diffusion system?



Where'd the idea come from?

Alan Turing in 1952 proposed the RD mechanism as a means of explaining cell-differentiation during embryonic development.

At this stage in the history of Developmental Biology, the evidence to demonstrate that RD systems do occur in natural systems is largely circumstantial (but quite convincing).

Alan Turing


Analysis of RD Systems.

The simplest RD system has two reacting chemicals:


These diffuse through a space at different rates:

RD formula



The change of A and I over time varies with the sum of:



Using RD for Pattern Formation


For example:

RD formula2


RD spots



More interesting results
RD giraffe
  • Run another simulation over the top of that one, using the first pattern as a non-random seed

  • Freeze part of the initial pattern and run the second simulation in the unfrozen portion

  • Use the initial pattern to non-uniformly vary the rate of diffusion of chemicals in the second simulation

  • Vary the diffusion rate across different portions of the grid or run the simulation on irregular grids
RD zebra

 

An alternative (and fascinating!) set of reactions is known as the Gray-Scott RD system (applet, pre-rendered movies).



3. Diffusion Limited Aggregation (DLA) & Diffusion Limited Accretive Growth

DLA

References:

Kaandorp, J.A.,
"Fractal Modelling: Growth and Form in Biology",
Springer-Verlag, 1994

Meakin, P.,
"A new model for biological pattern formation"
J. Theor. Biol. 118 pp101-113, 1986



What is Diffusion Limited Aggregation?

DLA is a discrete model of Diffusion Limited Accretive Growth...



Diffusion Limited Accretive Growth has been used to model:

  • Growth of bacteria on an agar plate

  • Development of corals and sponges

  • The discrete model (DLA) correctly reproduces the behaviour of metallic ions as they are deposited on an electrode but ignores the active, nutrient-consuming role of a living organism

coral
A model of the sponge Haliclona occulata
(Kaandorp, 1992)



4. Cellular Texture Generation

References:

Fleischer K.W. et al,
"Cellular Texture Generation",
SIGGRAPH proceedings, p239-248, 1995


(All images below by Fleischer '95)

scales
  • Cellular textures are surface textures with 3D geometry, orientation and colour

  • The method utilizes elements of particle systems, developmental models and reaction-diffusion systems

  • Cells are modelled as particles in a continuous medium

  • Cells may release or respond to chemicals diffusing through the continuous medium



Cells act in a space as determined by cell programs with parameters governed by the local conditions experienced by the cell

spikes

Cells may (for example):

  • Collide with and adhere to other structures and each other

  • Absorb/release chemicals from/to the medium & adjacent cells

  • Divide to produce daughter cells

  • Be constrained to move on a surface


Cells have been represented visually as oriented and differentiated:

  • plant thorns

  • reptile scales

  • animal fur
twist


5. Generating Solid Textures
(Lovely Checks, Gentle Wood-Grains and Gorgeous Marbles)

References:

Perlin, K.,
"An Image Synthesizer"
SIGGRAPH proceedings, Vol.19, No.3, 1985, pp287-296

Watt, Watt,
"Advanced Animation and Rendering Techniques"
Addision Welsey, 1992, pp205-211

Foley, van Dam, Feiner, Hughes,
"Computer Graphics, Principles and Practice"
2nd edn, Addison-Wesley, 1987, pp1015-1018


Why bother with textures?
bricks leaves stones

rivets



What is a solid texture?

A model may be textured by mapping a 2D image over its surface.



brick cube
Or...



...a model may be textured according to the location of its geometry in 3-space using a volumetric/solid/3D texture.

cubes


2D, non-procedural textures are:

3D, procedural textures are:



A Wood-Grain (Solid) Texture

Create a solid colour-map made from concentric cylinders of varying colours (e.g. browns):

grain rings grain2 grain grain cube


A Marble (Solid) Texture
  1. Noise:

    noise
    • Define a regular lattice of points indexed by integers

    • Assign a random value to each lattice point

    • The noise value at a lattice point is its random value

    • The noise value between lattice points is computed by interpolation (e.g. linear or cubic)

  2. Turbulence:


  3. Veins:

    veins
    • Regular veins of material may be described by a sin wave

    • Pass the sin wave through a colour map (map scalar to intensity/colour using a spline):

      marble(x) = marble_colour(sin(x))

    • Add turbulence to perturb the regularity:

      marble(x) = marble_colour(sin(x+turbulence(x)))

lecture notes | home

All material accessed from www.cs(se).monash.edu.au/~cema is
© Copyright 1994-2008 Alan Dorin, Jon McCormack & Monash University except where noted.