TYPE: CHOP
TITLE: Spring CHOP

This CHOP creates vibrations influenced by the input channels, as if a mass
was attached to a spring.

It acts as if, for every channel, there is a mass at the end of a spring,
affected by a distance from the actual position (the output of the
channel at the previous frame) to the desired position (the input channel
at the current frame). When the distance is zero, there is no force.

Alternately, when Input Effect is Force, the input is used as a force on
the spring/mass, and the CHOP reacts to this force plus the force of the
spring/mass. In this case, the mass would always stabilize at value 0 if
the input is a force of 0.

The Damping acts to make the spring system lose energy, so that higher
damping makes everything come to rest sooner.

Its behavior is best understood by feeding it a CHOP that steps from one
constant value to another in sequence, then playing with the constants.

This CHOP may be time sliced by enabling the Time Slice flag in the common
page. It can also take advantage of Minimal Time Slice Cooking in time slice
mode (see the Time Slice Preferences dialog in the Options menu).

Parameters
    Spring Constant     - A number describing how strong the      /springk
                          spring is. Larger spring constants
                          produce higher frequency oscillations.
    Mass                - The mass of the object on the end       /mass
                          of the spring. Higher masses will
                          produce lower frequency oscillations, 
                          have higher amplitudes, and be more
                          resistant to damping.
    Damping Constant    - The amount of damping (resistance)      /dampingk
                          applied to the spring action. Higher
                          damping causes oscillations to die
                          off more quickly.
    Input Effect        - Determines whether the input channel(s)
                          represents a position or a force.
    Initial Conditions From Channel - If on, the initial position and
                          velocity are calculated from the
                          values at the beginning of the channel.
    Initial Position    - The initial position of the mass       /initpos
                          attached to the spring.
    Initial Speed       - The initial velocity of the mass       /initspeed
                          attached to the spring.

Local Variables
    C   - The current channel number (0 to NC-1).
    NC  - The total number of channels.

See also: Lag
