Cell Attributes

The most important attributes maintained by each cell are its mass, position, velocity, force and lastly velocityMultiplier. Not surprisingly these are used to keep track of the cell's state of motion and the forces acting upon it. The Cell class is unusual in that it is seldom dealt with directly. However we will see that many of Tao's other classes have attributes which are often accessed and set via methods 

The velocityMultiplier attribute is quite important. It holds a value in the range [0..1] and the velocity of the cell is multiplied by this value on each tick. This has the effect of dissipating energy (if the value is < 1) and thus damping the vibrations of the cell. Each cell can have a different value for this attribute leading to non-uniform damping of the material and this feature is a very important tool for controlling the vibrational characteristics of the material as we will see later on in this manual.

For example with a simple string-like instrument consisting of a single row of cells linked together with springs, damping small regions at either end of the string more highly than the rest of the cells causes the higher frequency vibrations to die away more quickly than the lower ones. This leads to a more natural string-like spectral decay in the sounds produced by the instrument, whereas a string with uniform damping exhibits no significant change in the distribution of spectral energy as the sound evolves.

It is probably safe to say that all physically produced sounds exhibit some kind of spectral evolution, and as a general rule non-uniform damping always produces more interesting sounds from Tao instruments than uniform damping.

The other main attributes that each cell maintains are pointers to its neighbours north, east, south, west, neast, nwest, seast and swest. Each pointer indicates to a particular cell that it is connected to a neighbouring cell via a virtual spring. Similarly the neighbouring cell will reciprocate by keeping a pointer to the first. You do not need to deal with these pointers directly as an end-user Tao but it is worth knowing that they are there.

The final attribute is used to store other aspects of the cell's state, such as whether it is locked or free to move. This attribute is called mode.


©1999,2000 Mark Pearson m.pearson@ukonline.co.uk April 30, 2000