RManNotes

previous | next | stochastic patterns: contents | rmannotes: top

Bombing!

Another way to add randomness to regular patterns is to use a technique called bombing. Bombing generates random placement patterns -- regular patterns or features which are "dropped" at random positions or orientations in texture space.

We start out with a regular pattern composed of diamonds (rotated squares).


rotblocks.sl

Then using the bombing technique, we randomly move the position of each diamond. The key here, and the thing that distinguishes it from a perturbed regular pattern, is that the shifting is based on the tile coordinates (column & row of the tile) and not the texture coordinates. By using the tile coordinates as the seed (input) to noise, we get the same pseudo-random value (ouput) for every point inside that tile. And that's why the regular shape is maintained. If different random values are obtained within each tile, the diamond shapes will become irregular in shape.

To reiterate, the randomness must be based on tile coordinates (col,row) -- because (col,row) are constant for each tile -- and not on texture coordinates (ss,tt) or some other variable (e.g. s,t) which varies within each tile.


rotblocks.2.sl

Other parameters can also be based on tile coordinates. In the example below, we use udn to randomly discard tiles and to randomly choose tile colors. Note that the seeds (inputs) to udn are large -- that way neighboring tiles have uncorrelated randomness. In general, udn is useful when noise is not being used for pattern generation, but rather for making some random choice. For example, when bombing shapes, several attributes might be randomly chosen using udn:


rotblocks.3.sl

Finally, we can generate many layers of the now randomized diamond pattern using a for-loop. The loop index controls the size of the diamonds (the frequency of the layer), adjusts the fuzz factor, and is a factor in the seeds to udn so that each layer is completely unique.


rotblocks.4.sl

previous | next | stochastic patterns: contents | rmannotes: top

RManNotes is Copyright © 1995, 1996 Stephen F. May

Any comments or suggestions appreciated.

Steve May (smay@pixar.com)

Last Modified: 4/16/96