: Public <<type>> Class
 Created: 23.5.2022 18.05.06 Modified: 1.8.2022 13.54.07 Project: Author: Marko Kauppi Version: 2003 Phase: IS Status: Approved Complexity: Difficulty: Priority: Multiplicity: Advanced: UUID: {DEC480E3-8504-4a29-8D3F-CEF77BB93E2D} Appears In: Fig 15: Curve Segments , Fig 19: Splines and Speciality Curves, Context Diagram: GM_CubicSpline
Cubic splines are similar to line strings in that they are a sequence of segments each with its own defining function. A cubic spline uses the control points and a set of derivative parameters to define a piecewise 3rd degree polynomial interpolation. Unlike line-strings, the parameterization by arc length is not necessarily still a polynomial. Splines have two parameterizations that are used in this standard, the defining one (constructive parameter) and the one that has been reparameterized by arc length to satisfy the requirements in GM_GenericCurve. <br/>The function describing the curve must be C2, that is, have a continuous 1st and 2nd derivative at all points, and pass through the controlPoints in the order given. Between the control points, the curve segment is defined by a cubic polynomial. At each control point, the polynomial changes in such a manner that the 1st and 2nd derivative vectors are the same from either side. The control parameters record must contain vectorAtStart, and vectorAtEnd which are the unit tangent vectors at controlPoint and controlPoint[n] where n = controlPoint.count. <br/>The restriction on "vectorAtStart" and "vectorAtEnd" reduce these sequences to a single tangent vector each. <br/>GM_CubicSpline::vectorAtStart : Vector \\ "degree - 2" is 1<br/>GM_CubicSpline::vectorAtEnd : Vector \\ "degree - 2" is 1<br/><br/>NOTE The actual implementation of the cubic polynomials varies, but the curve so generated is guaranteed to be unique. See , , , , and  in the bibliography for examples of implementations. <br/>The interpolation mechanism for a GM_CubicSpline is "cubicSpline".<br/>GM_CubicSpline::interpolation : GM_InterpolationMethod = "cubicSpline" <br/><br/>The degree for a GM_CubicSpline is "3".<br/>GM_CubicSpline::degree : Integer = "3"<br/>
• Tagged Values
 Tag Value persistence persistent Details: