<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Contents</title> <link rel="Stylesheet" type="text/css" href="../styles/pagestyle.css") /> </head> <body> <div id="contents"> <h3> Natural Cubic Splines </h3> <hr /> One of the first spline curves to be developed for graphics applications is the <strong>natural cubic spline</strong>. This interpolation curve is a mathematical representation of the original drafting spline. We formulate a natural cubic spline by requiring that two adjacent curve sections have the same first and second parametric derivatives at their common boundary. Thus, natural cubic splines have C<sup>2</sup> continuity.<br /> <br /> If we have n+1 control points to fit, as in figure below, then we have n curve sections with a total of 4n polynomial coefficients to be determined. At each of the n  1 interior control points, we have four boundary conditions: the two curve sections on either side of a control points must have the same first and second parametric derivatives at the control point. This gives us 4n  4 equations to be satisfied by the 4n polynomial coefficients, we get an additional equation from the first control point P<sub>0</sub>, the position of the beginning of the curve, and another condition from control point P<sub>n</sub>, which must be the last point on the curve. We still need two more conditions to be able to determine values for all coefficients. One method for obtaining the two additional conditions is to set the second derivatives at P<sub>0</sub> and P<sub>n</sub> to 0.another approach is to add two extra dummy control points, one at each end of the original control  point sequence. That is, we add a control point P<sub>-1</sub> and a control point P<sub>n+1</sub>. then all of the original control points are interior points, and we have the necessary 4n boundary conditions.<br /> <br /> Although natural cubic splines are a mathematical model for the drafting spline, they have a major disadvantage. If the position of any one control point is altered, the entire curve is affected. Thus, natural cubic splines allow for no  local control , so that we cannot restructure part of the curve without specifying an entirely new set of control points.<br /> A Hermite spline (named after the French mathematician Charles Hermite) is an interpolating piecewise cubic polynomial with a specified tangent at each control point. Unlike the natural cubic splines, Hermits splines can be adjusted locally because each curve section is only dependent on its endpoint constraints.<p> <b>Hermite Splines</b></p> <p>Is P(u) represents a parametric cubic point function for the curve section between control points P<sub>k</sub> and P<sub>k+1</sub>, as shown in figure below then the boundary conditions that define this Hermiite curve section are <br /> <img class="inlinesymbol" src="pics/eqn08_1.gif" alt="" width="91" height="101" /><br /> <img class="float_right" src="img/pic016.jpg" alt="" width="250" height="102"/><br /> <br /> With Dp<sub>k</sub> and Dp<sub>k+1</sub> specifying the values for the parametric derivatives (slope of the curve) at control points P<sub>k</sub> and P<sub>k+1</sub>, respectively.<br /> We can write the vector equivalent of Eqs. below for this Hermite-curve section as <br /> <img class="inlinesymbol" src="pics/eqn08_2.gif" alt="" width="251" height="26" /><br /> <br /> Where the x component of P is <img class="inlinesymbol" src="pics/eqn08_3.gif" alt="" width="196" height="28" /> and similarly for the y and z components. The matrix equivalent of Eq. below is<br /> <img class="inlinesymbol" src="pics/eqn08_4.gif" alt="" width="188" height="101" /><br /> <br /> And the derivative of the point function can be expressed as<br /> <img class="inlinesymbol" src="pics/eqn08_5.gif" alt="" width="155" height="101" /><br /> <br /> Substituting endpoint values 0 and 1 for parameter u into the previous two equations, we can express the Hermite boundary conditions below in the matrix from:<br /> <img class="inlinesymbol" src="pics/eqn08_6.gif" alt="" width="181" height="105" /><br /> Solving this equation for the polynomial coefficient, we have<br /> <img class="inlinesymbol" src="pics/eqn08_7.gif" alt="" width="228" height="316" /><br /> <br /> Where M<sub>H</sub>, the Hermite matrix, is the inverse of the boundary constraint matrix. Equation below can thus be written in terms of the boundary conditions as<br /> <img class="inlinesymbol" src="pics/eqn08_8.gif" alt="" width="200" height="105" /><br /> <br /> Finally, we can determine expressions for the Hermite blending functions by carrying out of the multiplications in Eq. below and collection coefficients for the boundary constraints to obtain the polynomial from:<br /> <img class="inlinesymbol" src="pics/eqn08_9.gif" alt="" width="540" height="51" /><br /> the polynomials H<sub>k</sub>(u) for k = 0,2,3, are referred to as blending functions because they blend the boundary constraint values (endpoint coordinates and slopes) to obtain each coordinate position along the curve. Figure below shows the shape of the four Hermite blending functions.<br /> <br /> Hermite polynomials can be useful for some digitizing applications where it may not be too difficult to specify or approximate the curve slopes. But for most problems in computer graphics, it is more useful to generate spline curves without requiring input values for curve slopes or other geometric information, in addition to control- point coordinates. Cardinal splines and Kochanek-Bartels splines, discussed in the following two sections, are variations on the Hermite splines that do not require input values for the curve derivatives at the control points. Procedures for these splines compute parametric derivatives from the coordinate positions of the control points.<br /> </div> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2741197-1"; urchinTracker(); </script> </body> </html>