What is a Cardinal Spline?

 

This oddly named thing is simply a line with tension. A set of X,Y coordinates can be used to make a polygon or poly-line. Usually the points are connected by straight-line segments. A Cardinal Spline takes the positions of the current point and,along with the previous and next points, averages out the positions using a tension value. This smoothes the line and makes a path that is gently curved through the points rather than zigzagging through them. Figure 1 shows a cardinal spline drawn through several points. The black dots are the nodes, the lines are the curves generated by several different representations of the line at different tensions.

The red line has zero tension. The Indigo line has a tension of 1. The others are something in-between.

What is a Cardinal Spline?_第1张图片

Cardinal splines are just a subset of the hermite curves. They don't need the tangent points because they will be calculated from the control points. We'll lose some of the flexibility of the hermite curves, but as a tradeoff the curves will be much easier to use. The formula for the tangents for cardinal splines is:
Ti = tension  * ( Pi+1 - Pi-1 )
tension  is a constant which affects the tightness of the curve. Write yourself a program and play around with it. ( tension should be between 0 and 1, but this is not a must).

 

你可能感兴趣的:(Path)