The uncloiled Whelk mesh is topologically equivalent to an open cylinder, with stacks as ‘rows’ and slices as ‘columns’ Thus a single stack forms one band or ring in the cylinder. Perturbations can be applied to both stacks and slices using a variety of waveforms. Stack perturbation deforms *across* the path of growth. Slice perturbation deforms *along* the path of growth (shown by the white arrow).

### Perturb Action

The waveform can be stretched, repeated at interval, or broken down into sections. Perturbations are assigned to individual layers.

##### Distribute

The waveform is stretched over the entire range of vertices. This is useful for creating the basic form which can then be modified further by a different waveform in another layer. Note that when Distribute is applied to Slices, the waveform changes the swept profile. However, if a custom profile is required, use the Profile Editor.

##### Repeat

Repeat the entire waveform (auto) or compress by specified interval. This interval is repeated for the Dash count, then a gap is drawn for the Gap count. Think of this as a dashed line using f(x), where x is the interval. For example, if the interval is 5, every fifth value is used, ie *y=f(x=0), y=f(x=5), y=f(x=10), y=f(x=15) ...*, etc.

##### Manual

At the moment this works like repeat but without the dash option. A feature to edit the waveform on an interactive graph is in development...

### Combining Perturbations

By combining perturbations, many varitions in form are possible. Applying Distribute to stacks or slices violates the logarithmic laws of growth, but for an artist, this provides just another way to create original designs...

### Sine Wave Perturbations

The following table shows various sine wave perturbations applied individually for stacks and slices. The first shell sample shows 'Stack. Manual ON'; the second shell sample shows 'Slice. Distribute ON'.

`QUARTER_PHASE_POSITIVE 0° - 90°`

`QUARTER_PHASE_NEGATIVE 180° - 270°`

`HALF_PHASE_POSITIVE 0° - 180°`

`HALF_PHASE_NEGATIVE 180° - 360°`

`ONE_PHASE_ZERO_TO_ZERO 0° - 360°`

`ONE_PHASE_PEAK_TO_PEAK 90° - 450°`

`ONE_PHASE_TROUGH_TO_TROUGH 270° - 630°`

`ONE_AND_A_HALF_PHASE_DOUBLE_PEAK 0° - 540°`

`ONE_AND_A_HALF_PHASE_DOUBLE_TROUGH 180° - 720°`

### Phase Shift

The Phase shift option works by summing all values of sin(mx)/m for m=1 to m=m, in steps of m+2. This is only implemented where m is odd, eg `Sin(3x)/3`

, `sin(5x/5)`

etc.

m = 1 examples...

`Sin(x)`

`Sin(3x)/3`

`Sin(5x)/5`

`Sin(7x)/7`

`Sin(9x)/9`

`Sin(11x)/11`

Larger values of m make the waveform more square...

`Sin(x)`

`Sin(x)+Sin(3x)/3`

`Sin(x) + Sin(3x)/3 + Sin(5x)/5`

`Sin(x) + Sin(3x)/3 + Sin(5x)/5 + Sin(7x)/7`

`Sin(x) + Sin(3x)/3 + Sin(5x)/5 + Sin(7x)/7 + Sin(9x)/9`

`Sin(x) + Sin(3x)/3 + Sin(5x)/5 + Sin(7x)/7 + Sin(9x)/9 + Sin(11x)/11`

##### Slices. Distribute: ON `ONE_PHASE_PEAK_TO_PEAK`

Phase Shift: OFF

`Sin(3x)/3`

`Sin(5x)/5`

`Sin(7x)/7`

`Sin(9x)/9`

`Sin(11x)/11`

##### Slices. Distribute: ON `ONE_PHASE_PEAK_TO_PEAK`

Phase Shift: ON

`Sin(3x)/3`

`Sin(5x)/5`

`Sin(7x)/7`

`Sin(9x)/9`

`Sin(11x)/11`