drawn by BridPlot. Of course.
How to draw a smooth curve between any points.
They said it could not be done:
At a meeting of graphics experts at the University of Leeds, UK, in 1978, the chairman claimed that it was not possible to draw a smooth curve between data points without supplying additional information.
But I have already done it claimed Judy Butland, a very junior member of the group. After vigorous discussion, and a free exchange of ideas and source code, it was decided that she really had achieved the impossible. A paper was subsequently published, and the algorithm has been successfully used in many different applications. It became known as Butland’s Algorithm
What does it do?
After establishing start-up conditions, a series of points is taken 3 at a time, and the change in direction in x and in y is calculated for each point. The change in direction is used to calculate a cubic function to join an adjacent pair of points. This process is carried out for successive points. Constraints can be applied to the cubic functions to ensure that the derived curve never over-shoots nor undershoots the data values.
Beneficial spin-offs from the algorithm:
- It is fast.
- You never get unwanted loops in the curve.
- Curves can be constructed continuously – feed it just 3 points at a time, and you will get all that your heart desires.
- Curves can be constructed through data with ascending or descending x values. Or a closed shape. Like a duck.
Another BridPlot success
A listing of the algorithm in Java will be given once we have smartened it up