In mathematics, a spline is a function defined piecewise by polynomials.In interpolating problems, spline interpolation is often preferred to polynomial interpolation because it yields similar results, even when using low degree polynomials, while avoiding Runge's phenomenon for higher degrees.
In the computer science subfields of computer-aided design and computer graphics, the term spline more frequently refers to a piecewise polynomial (parametric) curve. Splines are popular curves in these subfields because of the simplicity of their construction, their ease and accuracy of evaluation, and their capacity to approximate complex shapes through curve fitting and interactive curve design.
The term "spline" is used to refer to a wide class of functions that are used in applications requiring data interpolation and/or smoothing. The data may be either one-dimensional or multi-dimensional. Spline functions for interpolation are normally determined as the minimizers of suitable measures of roughness (for example integral squared curvature) subject to the interpolation constraints. Smoothing splines may be viewed as generalizations of interpolation splines where the functions are determined to minimize a weighted combination of the average squared approximation error over observed data and the roughness measure. For a number of meaningful definitions of the roughness measure, the spline functions are found to be finite dimensional in nature, which is the primary reason for their utility in computations and representation. For the rest of this section, we focus entirely on one-dimensional, polynomial splines and use the term "spline" in this restricted sense.
Before computers were used, numerical calculations were done by hand. Although piecewise-defined functions like the sign function or step function were used, polynomials were generally preferred because they were easier to work with. Through the advent of computers, splines have gained importance. They were first used as a replacement for polynomials in interpolation, then as a tool to construct smooth and flexible shapes in computer graphics.
It is commonly accepted that the first mathematical reference to splines is the 1946 paper by Schoenberg, which is probably the first place that the word "spline" is used in connection with smooth, piecewise polynomial approximation. However, the ideas have their roots in the aircraft and shipbuilding industries. In the foreword to (Bartels et al., 1987), Robin Forrest describes "lofting", a technique used in the British aircraft industry during World War II to construct templates for airplanes by passing thin wooden strips (called "splines") through points laid out on the floor of a large design loft, a technique borrowed from ship-hull design. For years the practice of ship design had employed models to design in the small. The successful design was then plotted on graph paper and the key points of the plot were re-plotted on larger graph paper to full size. The thin wooden strips provided an interpolation of the key points into smooth curves. The strips would be held in place at discrete points (called "ducks" by Forrest; Schoenberg used "dogs" or "rats") and between these points would assume shapes of minimum strain energy. According to Forrest, one possible impetus for a mathematical model for this process was the potential loss of the critical design components for an entire aircraft should the loft be hit by an enemy bomb. This gave rise to "conic lofting", which used conic sections to model the position of the curve between the ducks. Conic lofting was replaced by what we would call splines in the early 1960s based on work by J. C. Ferguson at Boeing and (somewhat later) by M.A. Sabin at British Aircraft Corporation.
The use of splines for modeling automobile bodies seems to have several independent beginnings. Credit is claimed on behalf of de Casteljau at Citron, Pierre Bzier at Renault, and Birkhoff, Garabedian, and de Boor at General Motors (see Birkhoff and de Boor, 1965), all for work occurring in the very early 1960s or late 1950s. At least one of de Casteljau's papers was published, but not widely, in 1959. De Boor's work at General Motors resulted in a number of papers being published in the early 1960s, including some of the fundamental work on B-splines.
Suppose the interval [a, b] is [0, 3] and the subintervals are [0, 1], [1, 2], [2, 3]. Suppose the polynomial pieces are to be of degree 2, and the pieces on [0, 1] and [1, 2] must join in value and first derivative (at t = 1) while the pieces on [1, 2] and [2, 3] join simply in value (at t = 2). This would define a type of spline S(t) for which
would be a member of that type.(Note: while the polynomial piece 2t is not quadratic, the result is still called a quadratic spline. This demonstrates that the degree of a spline is the maximum degree of its polynomial parts.)The extended knot vector for this type of spline would be (0, 1, 2, 2, 3).
The simplest spline has degree 0. It is also called a step function.The next most simple spline has degree 1. It is also called a linear spline. A closed linear spline (i.e, the first knot and the last are the same) in the plane is just a polygon.
A common spline is the natural cubic spline. A cubic spline has degree 3 with continuity C2, i.e. the values and first and second derivatives are continuous. Natural means that the second derivatives of the spline polynomials are zero at the endpoints of the interval of interpolation.
Many computer-aided design systems that are designed for high-end graphics and animation use extended knot vectors,for example Autodesk Maya.Computer-aided design systems often use an extended concept of a spline known as a Nonuniform rational B-spline (NURBS).
For a given interval [a,b] and a given extended knot vector on that interval, the splines of degree n form a vector space. Briefly this means that adding any two splines of a given type produces spline of that given type, and multiplying a spline of a given type by any constant produces a spline of that given type. The dimension ofthe space containing all splines of a certain type can be counted from the extended knot vector:
If a type of spline has additional linear conditions imposed upon it, then the resulting spline will lie in a subspace. The space of all natural cubic splines, for instance, is a subspace of the space of all cubic C2 splines.
Often a special name was chosen for a type of spline satisfying two or more of the main items above. For example, the Hermite spline is a spline that is expressed using Hermite polynomials to represent each of the individual polynomial pieces. These are most often used with n = 3; that is, as Cubic Hermite splines. In this degree they may additionally be chosen to be only tangent-continuous (C1); which implies that all interior knots are double. Several methods have been invented to fit such splines to given data points; that is, to make them into interpolating splines, and to do so by estimating plausible tangent values where each two polynomial pieces meet (giving us Cardinal splines, Catmull-Rom splines, and Kochanek-Bartels splines, depending on the method used).
For each of the representations, some means of evaluation must be found so that values of the spline can be produced on demand. For those representations that express each individual polynomial piece Pi(t) in terms ofsome basis for the degree n polynomials, this is conceptually straightforward:
For a representation that defines a spline as a linear combination of basis splines, however, something more sophisticated is needed. The de Boor algorithm is an efficient method for evaluating B-splines.
I tried to add the new curvature constraint to a third spline point between the end points. As expected that did not work. Then I splitted the spline on that point and added the curvature constraint over there. That did not work either.
Your solution assumes that during sketching you know where the splines have to be curvature constrained, but as you can see that does not work for me because the imperfections only appear as the whole ship hull is ready. To get a proper hull I need the curvature handles only at some specific spline points.
Also because of the (earlier) absence of them I paused the modelling of the boat design. By using the new curvature constraint with your work-around I can continue now but I need to replace the improper spline by two or more separate splines and see how that works out, which is awkward. Always having curvature handles at spline points (e.g. FS360) or afterward adding (and removing) them at specific points would be much more comfortable, flexible and efficient.
I can certainly appreciate that there might be situations in which I would want to exclude certain features in a detailed drawing, and having the option to use a spline to skate around such features is good.
Most of the time, I'd rather have the boundary of my detailed view be a circle proportionate to the size of the circle Creo Parametric 2.0 m010 generates from the spline I sketch. I really don't like using the spline as the boundary for my detailed view, it always comes out looking a little off. Since trying to use the sketcher tab drops me out of the view creation process, is there some way I can get the boundary of my detailed view to be a simple circle, scale-proportionate to the circle used to define the view?
I know I can always eyeball it with the sketch tool, but that gets tedious. There's an option to replace the spline in the home drawing with a few different options, but all I'm seeing for the actual detail view border is "off" and "on," and it always matches the spline. A lot of times a boundary on the detail is unnecessary and adds noise, but that depends on the configuration and complexity of the part. Also, there are speed concerns:
c80f0f1006