A Wave Painting Workflow

Possessed now with a definite relationship between frequency and coefficients, we can codify our heretofore intuitive wave-making operation.

A waveform propagates in two spatial dimensions with an orientation such that along the X axis, a horizontal frequency of q may be observed, while along the Y axis it is a vertical frequency of v. The spectral space coefficients that could give rise to such a waveform all have labels q:v; there are at most four of them and the waveform in question is a product of at most two, allied as a chiral pair.

Our procedure is:

1. If we want to have a constant intensity image, q=v=0, we set coefficient 0:0 in the upper left hand corner to a non-zero real value. We're done.

2. Otherwise, if we want to have waveforms at the Nyquist rate, N only, and the image dimensions are 2N, we may set one of the following coefficients to a non-zero real value:

A. N:0 for N widthwise cycles (coefficient at the middle of the top edge) – we're done.
B. 0:N for N depthwise cycles (coefficient at middle of the left edge) – we're done.
C. N:N for a N×N one pixel checkerboard (coefficient at the center of the map) – we're done.
3. Otherwise for waveforms with q < N or v < N, we set a chiral pair of coefficients
A. For vertical or horizontal waveforms at a frequency less than the Nyquist rate along one axis and a zero frequency along the other:
i. For vertical waveforms, we choose the coefficient from the top strip, counting from the origin (left) for one and counting from the right for the other, the two comprising a chiral pair – we're done.
ii. For horizontal waveforms, we choose the coefficient from the left strip, counting from the origin (top) for one and counting from the bottom for the other, the two comprising a chiral pair – we're done.
B. Otherwise, for 2N × 2N maps and vertical or horizontal waveforms at a frequency less than the Nyquist rate in one direction and at the Nyquist rate in the the other:
i. For vertical waveforms, we choose the coefficient from the middle horizontal strip, counting from the origin (left) for one and counting from the right for the other, the two comprising a chiral pair – we're done.
ii. For horizontal waveforms, we choose the coefficient from the middle vertical strip, counting from the origin (top) for one and counting from the bottom for the other, the two comprising a chiral pair – we're done.
C. Otherwise, for waveforms not horizontally or vertically oriented, q < N and v < N, we pick an orientation, bend dexter or bend sinister, and:
i. For bend dexter, choose coefficients of a chiral pair from the southwest and northeast quadrants. That is we count from the left and bottom for one and from the right and top for the other – we're done.
ii. For bend sinister, we choose coefficients from the northwest and southeast quadrants. That is we count from the left and top for one and from the right and bottom for the other – we're done.


Intermezzo: Spectral Editing -tiletex