• Lines and curves are typically fit to data points.


• Typical distinctions are,

Two points define,

- line (straight)

Three points define,

- a circle/arc

- a complex curve that fits at the ends

Four or more points define,

- a complex curve (spline) fit exactly to all points

- a complex curve (spline) fit exactly at the ends only


• A spline based curve is typically represented with a polynomial.



5.2.1 Lines


• Lines are typically represented in a parametric form. As we vary a parameter we move along the line. (Note: typical parameter variables are s,t,u,v)



• Note: lines can also be represented in explicit form, although this is not as useful for mathematical modeling.




5.2.2 Splines


• A spline curve can interpolate or approximate a curve,



• A bumpy curve will require a more complicated function (a polynomial with more degrees of freedom). - Cubic


• A cubic spline typically gives the best data fit. The example below is a parametric fit to four data points.




• Try the example below



• As we deal with different splines, the coefficient matrix changes,


• some of the different spline types are,

- coombs

- bezier

- B-spline

- - Bezier Curves


• A bezier curve is approximated. The two endpoints are clearly defined, but the two inside points determine the internal shape by setting slopes at the ends,


• the basic relationships are,



• Consider the shape of these curves are fixed to go through the endpoints, but are only guided by the two internal points



• Instead of the matrix form for representing splines, we can also use blending functions (the results are the same for a 4 point set). And, this allows us to generalize to a larger number of degrees of freedom.



• When using blending functions we can easily use more than three points (n=3) to define the spline.


• Bezier curves are distinctive in that changing an endpoint or control point will change the shape of the entire curve. - Ferguson/Hermite Curves


• These curves are defined by endpoints and slopes at the endpoints. Note - here we need to specify derivatives.


• the basic relationships are,



• These curves are of the greatest use when the endpoints of the line, and the slopes at those points are of more interest than the internal shape of the curve. - Catmull-Rom Curves


• These curves go through every point, but we have a tightness variable ‘c’.


• As the value of ‘c’ goes to zero, the connecting lines become straight.


• The basic form of the matrix is,
 - B-Splines


***************** REVISE TO CLARIFY **************************


• B-Splines are typically defined using blending functions, and they will often have more than four points in their definition.


• The basic form for the nonuniform B-Spline is shown below in the Cox-deBoor recursive function.



• If the intervals are all equal we call this uniform. When the intervals are different lengths we call this nonuniform. A nonuniform curve can take on much more complicated shapes.



• We can also weight the points to increase their effects on the final curve shape. This creates a rational spline.



• Non-Rational Uniform B-Spline (NURBS) curves are popular in CAD systems as they are the most general form of the spline curves. They combine both the rational weighting of points, and non-uniform knot spacing.


• Find a point at 140 degrees for NURB curve that models a sine wave from 0 to 180 degrees.





5.2.3 Advanced Splines


• We can sometimes double up (or more) points to increase the effect of a weighting. This is more valuable when the function is not rational. If we do this in the middle of a curve it tends to pull the curve tight. When done at the ends it makes the ends more regular.



• Quite often we will attach two spline segments in series. The connection between the segments will be said to have continuity. A zero order continuity means they touch, 1st order means they are smooth, etc. It is easier to ensure continuity with splines such as the Ferguson.


• A closed spline curve fully connects back to itself. (i.e., forms a loop)



[an error occurred while processing this directive]