# Noise

To simulate a real behavior requires some level of randomness or noise in the signal. In my case I want to simulate the behaviour of a helm at sea. They try to steer in to a bearing but environmental factors ensure that they wont accurately. Waves, wind, distractions, lack of sleep all play a factor. To simulate this randomness is not enough. A random number between 0 and 1.0 is completely random jumping everywhere randomly in that range. Noise is required. Noise is a continuous waveform, not discrete steps. So how to achieve it ?

There are plenty of descriptions of noise, but for some reason even a simple noise algorithm seems so complicated to describe. So here goes. 1D. Find a line algorithm of your choice, polynomial, bezier even linear. Choose the required number of random control points. Draw the line with those control points. Each point on the line is the 1D noise signal. Before the line ends, throw away the first control point and add a new control point to the end. Or in 1 sentence. Fit a smooth line to a random sequence. 2D, fit a smooth surface to a random sequence. 3D, a field etc. Perhaps I am wrong, but that seems to be the essence of a continuous noise function.

Now to write the code.