Motivation of Splines












13












$begingroup$


What is the motivation of splines, in particular cubic splines. For example, why does it matter that they have any type of smoothness at the knots.










share|cite|improve this question











$endgroup$








  • 2




    $begingroup$
    It also matters in the real world - hackernoon.com/…
    $endgroup$
    – Pete Kirkham
    Oct 30 '17 at 14:55
















13












$begingroup$


What is the motivation of splines, in particular cubic splines. For example, why does it matter that they have any type of smoothness at the knots.










share|cite|improve this question











$endgroup$








  • 2




    $begingroup$
    It also matters in the real world - hackernoon.com/…
    $endgroup$
    – Pete Kirkham
    Oct 30 '17 at 14:55














13












13








13


6



$begingroup$


What is the motivation of splines, in particular cubic splines. For example, why does it matter that they have any type of smoothness at the knots.










share|cite|improve this question











$endgroup$




What is the motivation of splines, in particular cubic splines. For example, why does it matter that they have any type of smoothness at the knots.







analysis numerical-methods spline motivation






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Oct 31 '17 at 14:49









David R

41149




41149










asked Oct 30 '17 at 12:24









user109871user109871

256320




256320








  • 2




    $begingroup$
    It also matters in the real world - hackernoon.com/…
    $endgroup$
    – Pete Kirkham
    Oct 30 '17 at 14:55














  • 2




    $begingroup$
    It also matters in the real world - hackernoon.com/…
    $endgroup$
    – Pete Kirkham
    Oct 30 '17 at 14:55








2




2




$begingroup$
It also matters in the real world - hackernoon.com/…
$endgroup$
– Pete Kirkham
Oct 30 '17 at 14:55




$begingroup$
It also matters in the real world - hackernoon.com/…
$endgroup$
– Pete Kirkham
Oct 30 '17 at 14:55










10 Answers
10






active

oldest

votes


















24












$begingroup$

The main motivation for using splines instead of a single polynomial is to avoid the oscillations in high-degree interpolating polynomials that can occur between interpolation points.



Cubic splines allow $C^2$ interpolants, which are important in applications such as computer-aided design.



Here is an example of oscillations from this page:



enter image description hereenter image description here






share|cite|improve this answer











$endgroup$









  • 7




    $begingroup$
    This explains why to use a piecewise curve rather than a single polynomial curve, but doesn't explain the reasons to have continuity constraints (what the $C^n$ notation actually specifies) at the joins between pieces. Add that and I delete my badly worded answer and upvote this instead.
    $endgroup$
    – Steve314
    Oct 30 '17 at 17:08








  • 7




    $begingroup$
    @Steve314 If you don't care about smoothness at the joins, why not just connect the points with straight line segments? Presumably because you want something that looks smoother than that.
    $endgroup$
    – Tavian Barnes
    Oct 30 '17 at 20:17






  • 6




    $begingroup$
    @Tavian - exactly. One thing is I don't think some people even realise that a B-spline is a piecewise curve - specifically, a piecewise Bezier curve. Because one specification using one algorithm, it's easy to miss that that's building a series of parametric curves that achieve particular continuity at each join. And IIRC B-splines and Bezier curves were invented separately, and the equivalence between B-splines and piecewise Bezier curves only proven much later too.
    $endgroup$
    – Steve314
    Oct 30 '17 at 20:34












  • $begingroup$
    People often use Bezier curves of fairly high degrees. They don't get wiggles because they are editing the Bezier control points, not interpolated points. The variation diminishing property of Bezier curves guarantees freedom from extraneous wiggles.
    $endgroup$
    – bubba
    Nov 1 '17 at 13:44










  • $begingroup$
    And even if you're doing interpolation, you can avoid wiggles just by choosing the interpolation points intelligently. Equally spaced points are a very bad choice.
    $endgroup$
    – bubba
    Nov 1 '17 at 13:47



















18












$begingroup$

Cubic splines are often used to plot the cutting lines followed by numerically-controlled milling machines. The machines' cutters are typically rotating drill points that are moved over the surface to be cut by horizontal and vertical actuators. Obviously the node values have to be the same so as to have a single contiguous line to cut, and the node first derivatives have to be the same so the actuators aren't forced to change directions abruptly. What is less obvious is that the second derivatives have to be the same because matching the local accelerating motion of the drill point requires the speed of the drill rotation to vary, and allowing it to vary too abruptly is liable to damage the drill.






share|cite|improve this answer









$endgroup$













  • $begingroup$
    Milling machines (traditional ones, anyway) can only move in straight lines. The lines might be very short, and the angles between them very small, but they're still straight lines.
    $endgroup$
    – bubba
    Nov 1 '17 at 13:50



















16












$begingroup$

Splines allow interpolation with local support: moving a control point affects only the region around the control point (where "region" can be defined precisely as a function of the order of the spline). This is in contrast to e.g. interpolation by a single polynomial, where a small change at one control point can cause a large change at an arbitrary distance.



This local support is particularly useful in computer-aided design, as indicated by the name spline, which comes from the flexible rulers used in pre-computer design. It is significant that two of the most important eponymous objects in the theory of splines (the de Casteljau algorithm and Bézier splines) are named respectively for a mathematician at Citroën and an engineer at Renault.






share|cite|improve this answer









$endgroup$













  • $begingroup$
    This is the real benefit of splines over polynomials -- local control and faster evaluation.
    $endgroup$
    – bubba
    Nov 1 '17 at 13:47



















12












$begingroup$

One of the application of splines is the interpolation of discrete data. If you want to compute the gradient of the interpolated function, then smoothness is important because you want your function to be differentiable.






share|cite|improve this answer











$endgroup$













  • $begingroup$
    Why would I want to calculate the gradient?
    $endgroup$
    – user109871
    Oct 30 '17 at 13:29






  • 10




    $begingroup$
    I work with camshaft applications and the shape of the cam is measured in discrete points. The design and analysis of a cam profile depend on evaluating 1st, 2nd, 3rd and 4th order derivatives of the shape. Without splines, it would be impossible to design a modern efficient car.
    $endgroup$
    – ja72
    Oct 30 '17 at 13:31










  • $begingroup$
    Recalling that velocity and acceleration are first and second derivatives of position with respect to time, you would not want the lathe you are using to generate these shapes to be "jerky" or thrusting too quickly, lest you crack the material you were using.
    $endgroup$
    – J. M. is not a mathematician
    Oct 31 '17 at 3:41



















9












$begingroup$

One classical application of cubic splines in particular and splines in general is track transition curves.



Consider the train that travels the straight track with velocity $v$ and enters a curve with the shape of quarter-of-circle arc with radius $R$: its acceleration instantly goes from $0$ to $frac{v^2}{R}$ (pointed to the center of the curve). Such jerks can be very destructive, especially when the speed and the train's mass are large. To alleviate this, track transition curves are used: they're curves with smoothly varying curvature that, crucially, has at least one point with zero curvature.



The simplest such curve is a cubic parabola, and it has been used in railroad construction since the middle of the 19th century. One can use suitable cubics to sew together straight lines and circle arcs and end with a curve that is still smooth up to the third derivative.






share|cite|improve this answer









$endgroup$





















    7












    $begingroup$

    Splines only follow one particular parametric equation in a piecewise way. One absurd special case - a linear "spline" with C^0 continuity is just what you get by drawing straight lines between the vertices you're interpolating in sequence. Each line follows a single linear parametric equation, C^0 means no derivatives need to match at each join - only the actual position - so you end up with straight lines and sharp corners (piecewise linear interpolation). If your requirement specifies "curve", probably not what you want.



    As an aside, I can't remember if vertices are the same thing as knots ATM. I seem to remember the knots being on a separate "time" line, saying "when" the vertices are with respect to the parameter that the parametric equations are based on, with the respective vertices specifying where in space.



    There's always some kind of discontinuity at vertices, or it wouldn't be a piecewise curve. The point of specifying the smoothness is to require continuity for at least some set number of derivatives, since those are what describe how smoothly the curve varies - that's what makes it one piecewise curve, as opposed to a bunch of curves joining at sharp corners.



    C^2 is a good general-purpose (but not universally applicable) level of continuity. People don't generally perceive the higher-order discontinuities by appearance or by touch. It's also generally sufficient for practical applications too (e.g. minimising turbulance for applications where aerodynamics are important).



    It's also probably partly tradition, given that the old physical splines used for ship-building gave C^2 continuity at the "ducks" (lead weights) IIRC.



    Actually, strictly speaking, C^(anything) joins can still be sharp for the same reason that you can have a sharp point even where there is no vertex - the "curve" can have a stopping-point WRT the parameter anywhere, and can move away from that point in a different direction without having a discontinuity WRT the parameter. There are alternative ways of specifying the continuity constraints to address that issue which I can't remember again, though I think the notation is G^n (for geometric continuity) rather than C^n.





    EDIT - the $C^2$ claim above is disputed in comments. I finally decided I should check where I got my reference from, and it looks like I'm probably wrong. Most likely I was misremembering something from the second edition of Curves and Surfaces for Computer Aided Geometric Design by Gerald Farin.



    Chapter 9 is about "Cubic Spline Interpolation". Section 9.5 "The Minimum Property" mentions those "Ducks". The point being made is that the traditional splines "minimize strain energy". An integral is given for that, but that is obviously a "geometric" integral (it's in terms of geometric properties, mainly distance, with no reference to any parameterization). Farin then immediately gives a "simpler" parametric integral (it's actually more complex, but presumably easier to evaluate the integral or otherwise work with - besides, the chapter is about cubic spline interpolation, building up to (parametric) B-splines in chapter 10 - geometric continuity not covered until chapters 12 and 13).



    Both of the integrals have powers of 2 - the original integral is $int (kappa (s))^2 ds$. This may also have helped mislead me. Just because formulas for energy tend to have squares in them doesn't mean the continuity is $C^2$ - minimization of this energy is certainly going to avoid discontinuity.



    Maybe I should spend some time working through this. I know there have been papers for minimum energy and minumum curvature (not the same thing AFAICT) curves published. One issue is probably that a true minimum energy/curvature curve is a global curve - all points are affected by all ducks/knots. For piecewise curves. Each piece is between two vertices - the minimum energy for that is a straight line so useless. Thinking of the piece as part of a larger minimum energy segment between the relevant ducks/knots that affect it has the problem that there's no guarantee that the joins between pieces will achieve any degree of continuity. Try to fix that without losing the local property and while still having a meaningful minimum energy/curvature property appears problematic at best.



    Anyway, as far as I can tell so far, first, a physical spline obviously has geometric rather than parametric continuity - there is no one particular parameterization, so inflection points just because the derivative in some direction with respect to that parameter are zero can't occur. I can believe that the geometric continuity is greater than two (even as an idealised model, ie not just because real wood is a complex material and each piece is unique) because of this minimum energy property, but I don't know.



    Perhaps a more reasonable explanation for the popularity of C^2 continuity, especially in the early days of CAD, was because cubic parametric equations achieved that and the derivatives/hodographs have simple quadratic equations that can easily be directly solved. This is useful for a number of things, e.g. finding turning points in order to find bounding boxes.






    share|cite|improve this answer











    $endgroup$













    • $begingroup$
      C^n continuity means that the nth derivative (and all previous ones) entering and leaving are the same: G^n continuity means that they differ only by a scalar (same "direction" but possibly different magnitude).
      $endgroup$
      – Peter Taylor
      Oct 31 '17 at 9:37










    • $begingroup$
      @PeterTaylor - doesn't G^n also mean you look at the actual geometry, rather than how things change with respect to some particular parameterization? Or is that implied by your definition anyway? (if all derivatives up to n at some point must have the same direction but not necessarily the same magnitude, that intuitively seems to focus on shape rather than any particular parameterization, but I never studied this formally and could easily be missing something).
      $endgroup$
      – Steve314
      Oct 31 '17 at 14:11










    • $begingroup$
      @PeterTaylor - I just realised the important point for your definition of G^n is what happens when the nth derivative is zero at the point. For C^n, since the magnitude of the derivative is zero it has no direction. For G^n, since you define that it has direction and don't care about magnitude, it potentially requires a more sophisticated (or more just-look-at-it) approach to determine what the direction is than directly evaluating the derivative at that point.
      $endgroup$
      – Steve314
      Oct 31 '17 at 14:22










    • $begingroup$
      The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood.
      $endgroup$
      – bubba
      Nov 1 '17 at 13:53










    • $begingroup$
      @bubba "The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood." Do you have a reference or other evidence for this claim? It's not at all obvious to me. For example, take the simplest nontrivial physical spline, that is, a thin strip held in place by three pegs, pushing on the strip in alternating directions. I could believe that the minimum-energy solution might be a circular arc interpolating the three pegs, attached to two straight rays. The instantaneous curvature change would make it only $G^1$.
      $endgroup$
      – Don Hatch
      Jan 6 at 5:06



















    4












    $begingroup$

    Splines are vital to most computer animation.



    Animators set key points which are splined to create smooth surfaces, motion, and illumination.
    Without splining, surfaces look faceted, and motion feels bumpy.



    Third order continuity is particularly vital for motion.
    The human eye/brain is very good at picking up slight discontinuities in motion that almost never occur in real life.






    share|cite|improve this answer









    $endgroup$





















      4












      $begingroup$

      Different applications of curves require different kinds of smoothness.



      There are many situations where you don't want sharp corners. Convex sharp corners are dangerous, and concave ones produce stress concentration and structural weakness. So, you want shapes to be G1 or better.



      If fluid is going to flowing over a surface (ships, airplanes, turbine blades), then (I think) you want to avoid discontinuities of curvature, because these cause separation of the boundary layer, turbulence, and other bad things. Not my area of expertise, so I may be wrong.



      In the design of cams, you often want the profile to be G2 or G3 because this impacts the dynamics of the mechanism. Machine designers worry a lot about "jerk". The shapes of roads and railroad tracks have similar shape requirements for similar reasons -- a sudden change in curvature will cause a sudden change in acceleration, so a "jerk" force. The designs often use clothoid curves, on which curvature is a linear function of arclength.



      Any place where aesthetics is important, you often want very high levels of smoothness. This is especially true of glossy surfaces like the bodies of cars. Reflection in these surfaces accentuates discontinuities. For example, if a surface is not G2, then reflections of straight lines will not be G1, so they will have ugly looking corners. Similarly, to get G2 reflection lines, you need G3 surfaces. Designers typically try to make car bodies G3 or better.



      Cubic splines are suitable for some of these applications, but not for others. They allow you to create curves that are G2 at their joins, which is good enough for many applications. It's not good enough for designing car exteriors. Actually, car designers don't like splines at all. They are suspicious of the inter-segment joins, so they prefer using Bézier curves (polynomial curves) of degrees up to around 7 or 8. The systems created by de Casteljau and Bézier in the 1960s both allowed degrees this high.



      Note that I have talked only about $G_n$ continuity, not $C_n$. The usual mathematical concept of $C_n$ continuity is strongly dependent on how a curve is parameterized. In most real-world applications, only the shape of a curve or surface is important, and its parameterization is largely irrelevant.






      share|cite|improve this answer











      $endgroup$





















        2












        $begingroup$

        Splines are useful for representing data and physical phenomena, especially if you have a prior notion of smoothness. They strictly enforce this notion and the level that you choose can be thought of as a form of regularization if you were to employ the splines to facilitate an inference (solution to an inverse problem).






        share|cite|improve this answer









        $endgroup$





















          2












          $begingroup$

          Cubic splines represent the deflections of beams under Euler-Bernoulli beam theory exactly. This theory is the foundation for basically all FEM-software used in structural analysis.



          If your workplace is in a more building more than four stories and built after 1990, I estimate the probability of splines being used in the design of your workplace building to more than 90 %!



          The smoothness of these splines is the smoothness of the deflection formulation of the beams in the structure. If we didn't have the higher order continuity, we would have discontinuities in our stress field. Discontinuous stress fields aren't physical -- at least not until we arrive at the micro scale!






          share|cite|improve this answer











          $endgroup$














            Your Answer





            StackExchange.ifUsing("editor", function () {
            return StackExchange.using("mathjaxEditing", function () {
            StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
            StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
            });
            });
            }, "mathjax-editing");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "69"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            noCode: true, onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2496490%2fmotivation-of-splines%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            10 Answers
            10






            active

            oldest

            votes








            10 Answers
            10






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            24












            $begingroup$

            The main motivation for using splines instead of a single polynomial is to avoid the oscillations in high-degree interpolating polynomials that can occur between interpolation points.



            Cubic splines allow $C^2$ interpolants, which are important in applications such as computer-aided design.



            Here is an example of oscillations from this page:



            enter image description hereenter image description here






            share|cite|improve this answer











            $endgroup$









            • 7




              $begingroup$
              This explains why to use a piecewise curve rather than a single polynomial curve, but doesn't explain the reasons to have continuity constraints (what the $C^n$ notation actually specifies) at the joins between pieces. Add that and I delete my badly worded answer and upvote this instead.
              $endgroup$
              – Steve314
              Oct 30 '17 at 17:08








            • 7




              $begingroup$
              @Steve314 If you don't care about smoothness at the joins, why not just connect the points with straight line segments? Presumably because you want something that looks smoother than that.
              $endgroup$
              – Tavian Barnes
              Oct 30 '17 at 20:17






            • 6




              $begingroup$
              @Tavian - exactly. One thing is I don't think some people even realise that a B-spline is a piecewise curve - specifically, a piecewise Bezier curve. Because one specification using one algorithm, it's easy to miss that that's building a series of parametric curves that achieve particular continuity at each join. And IIRC B-splines and Bezier curves were invented separately, and the equivalence between B-splines and piecewise Bezier curves only proven much later too.
              $endgroup$
              – Steve314
              Oct 30 '17 at 20:34












            • $begingroup$
              People often use Bezier curves of fairly high degrees. They don't get wiggles because they are editing the Bezier control points, not interpolated points. The variation diminishing property of Bezier curves guarantees freedom from extraneous wiggles.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:44










            • $begingroup$
              And even if you're doing interpolation, you can avoid wiggles just by choosing the interpolation points intelligently. Equally spaced points are a very bad choice.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:47
















            24












            $begingroup$

            The main motivation for using splines instead of a single polynomial is to avoid the oscillations in high-degree interpolating polynomials that can occur between interpolation points.



            Cubic splines allow $C^2$ interpolants, which are important in applications such as computer-aided design.



            Here is an example of oscillations from this page:



            enter image description hereenter image description here






            share|cite|improve this answer











            $endgroup$









            • 7




              $begingroup$
              This explains why to use a piecewise curve rather than a single polynomial curve, but doesn't explain the reasons to have continuity constraints (what the $C^n$ notation actually specifies) at the joins between pieces. Add that and I delete my badly worded answer and upvote this instead.
              $endgroup$
              – Steve314
              Oct 30 '17 at 17:08








            • 7




              $begingroup$
              @Steve314 If you don't care about smoothness at the joins, why not just connect the points with straight line segments? Presumably because you want something that looks smoother than that.
              $endgroup$
              – Tavian Barnes
              Oct 30 '17 at 20:17






            • 6




              $begingroup$
              @Tavian - exactly. One thing is I don't think some people even realise that a B-spline is a piecewise curve - specifically, a piecewise Bezier curve. Because one specification using one algorithm, it's easy to miss that that's building a series of parametric curves that achieve particular continuity at each join. And IIRC B-splines and Bezier curves were invented separately, and the equivalence between B-splines and piecewise Bezier curves only proven much later too.
              $endgroup$
              – Steve314
              Oct 30 '17 at 20:34












            • $begingroup$
              People often use Bezier curves of fairly high degrees. They don't get wiggles because they are editing the Bezier control points, not interpolated points. The variation diminishing property of Bezier curves guarantees freedom from extraneous wiggles.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:44










            • $begingroup$
              And even if you're doing interpolation, you can avoid wiggles just by choosing the interpolation points intelligently. Equally spaced points are a very bad choice.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:47














            24












            24








            24





            $begingroup$

            The main motivation for using splines instead of a single polynomial is to avoid the oscillations in high-degree interpolating polynomials that can occur between interpolation points.



            Cubic splines allow $C^2$ interpolants, which are important in applications such as computer-aided design.



            Here is an example of oscillations from this page:



            enter image description hereenter image description here






            share|cite|improve this answer











            $endgroup$



            The main motivation for using splines instead of a single polynomial is to avoid the oscillations in high-degree interpolating polynomials that can occur between interpolation points.



            Cubic splines allow $C^2$ interpolants, which are important in applications such as computer-aided design.



            Here is an example of oscillations from this page:



            enter image description hereenter image description here







            share|cite|improve this answer














            share|cite|improve this answer



            share|cite|improve this answer








            edited Oct 30 '17 at 14:24

























            answered Oct 30 '17 at 12:43









            lhflhf

            168k11172404




            168k11172404








            • 7




              $begingroup$
              This explains why to use a piecewise curve rather than a single polynomial curve, but doesn't explain the reasons to have continuity constraints (what the $C^n$ notation actually specifies) at the joins between pieces. Add that and I delete my badly worded answer and upvote this instead.
              $endgroup$
              – Steve314
              Oct 30 '17 at 17:08








            • 7




              $begingroup$
              @Steve314 If you don't care about smoothness at the joins, why not just connect the points with straight line segments? Presumably because you want something that looks smoother than that.
              $endgroup$
              – Tavian Barnes
              Oct 30 '17 at 20:17






            • 6




              $begingroup$
              @Tavian - exactly. One thing is I don't think some people even realise that a B-spline is a piecewise curve - specifically, a piecewise Bezier curve. Because one specification using one algorithm, it's easy to miss that that's building a series of parametric curves that achieve particular continuity at each join. And IIRC B-splines and Bezier curves were invented separately, and the equivalence between B-splines and piecewise Bezier curves only proven much later too.
              $endgroup$
              – Steve314
              Oct 30 '17 at 20:34












            • $begingroup$
              People often use Bezier curves of fairly high degrees. They don't get wiggles because they are editing the Bezier control points, not interpolated points. The variation diminishing property of Bezier curves guarantees freedom from extraneous wiggles.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:44










            • $begingroup$
              And even if you're doing interpolation, you can avoid wiggles just by choosing the interpolation points intelligently. Equally spaced points are a very bad choice.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:47














            • 7




              $begingroup$
              This explains why to use a piecewise curve rather than a single polynomial curve, but doesn't explain the reasons to have continuity constraints (what the $C^n$ notation actually specifies) at the joins between pieces. Add that and I delete my badly worded answer and upvote this instead.
              $endgroup$
              – Steve314
              Oct 30 '17 at 17:08








            • 7




              $begingroup$
              @Steve314 If you don't care about smoothness at the joins, why not just connect the points with straight line segments? Presumably because you want something that looks smoother than that.
              $endgroup$
              – Tavian Barnes
              Oct 30 '17 at 20:17






            • 6




              $begingroup$
              @Tavian - exactly. One thing is I don't think some people even realise that a B-spline is a piecewise curve - specifically, a piecewise Bezier curve. Because one specification using one algorithm, it's easy to miss that that's building a series of parametric curves that achieve particular continuity at each join. And IIRC B-splines and Bezier curves were invented separately, and the equivalence between B-splines and piecewise Bezier curves only proven much later too.
              $endgroup$
              – Steve314
              Oct 30 '17 at 20:34












            • $begingroup$
              People often use Bezier curves of fairly high degrees. They don't get wiggles because they are editing the Bezier control points, not interpolated points. The variation diminishing property of Bezier curves guarantees freedom from extraneous wiggles.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:44










            • $begingroup$
              And even if you're doing interpolation, you can avoid wiggles just by choosing the interpolation points intelligently. Equally spaced points are a very bad choice.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:47








            7




            7




            $begingroup$
            This explains why to use a piecewise curve rather than a single polynomial curve, but doesn't explain the reasons to have continuity constraints (what the $C^n$ notation actually specifies) at the joins between pieces. Add that and I delete my badly worded answer and upvote this instead.
            $endgroup$
            – Steve314
            Oct 30 '17 at 17:08






            $begingroup$
            This explains why to use a piecewise curve rather than a single polynomial curve, but doesn't explain the reasons to have continuity constraints (what the $C^n$ notation actually specifies) at the joins between pieces. Add that and I delete my badly worded answer and upvote this instead.
            $endgroup$
            – Steve314
            Oct 30 '17 at 17:08






            7




            7




            $begingroup$
            @Steve314 If you don't care about smoothness at the joins, why not just connect the points with straight line segments? Presumably because you want something that looks smoother than that.
            $endgroup$
            – Tavian Barnes
            Oct 30 '17 at 20:17




            $begingroup$
            @Steve314 If you don't care about smoothness at the joins, why not just connect the points with straight line segments? Presumably because you want something that looks smoother than that.
            $endgroup$
            – Tavian Barnes
            Oct 30 '17 at 20:17




            6




            6




            $begingroup$
            @Tavian - exactly. One thing is I don't think some people even realise that a B-spline is a piecewise curve - specifically, a piecewise Bezier curve. Because one specification using one algorithm, it's easy to miss that that's building a series of parametric curves that achieve particular continuity at each join. And IIRC B-splines and Bezier curves were invented separately, and the equivalence between B-splines and piecewise Bezier curves only proven much later too.
            $endgroup$
            – Steve314
            Oct 30 '17 at 20:34






            $begingroup$
            @Tavian - exactly. One thing is I don't think some people even realise that a B-spline is a piecewise curve - specifically, a piecewise Bezier curve. Because one specification using one algorithm, it's easy to miss that that's building a series of parametric curves that achieve particular continuity at each join. And IIRC B-splines and Bezier curves were invented separately, and the equivalence between B-splines and piecewise Bezier curves only proven much later too.
            $endgroup$
            – Steve314
            Oct 30 '17 at 20:34














            $begingroup$
            People often use Bezier curves of fairly high degrees. They don't get wiggles because they are editing the Bezier control points, not interpolated points. The variation diminishing property of Bezier curves guarantees freedom from extraneous wiggles.
            $endgroup$
            – bubba
            Nov 1 '17 at 13:44




            $begingroup$
            People often use Bezier curves of fairly high degrees. They don't get wiggles because they are editing the Bezier control points, not interpolated points. The variation diminishing property of Bezier curves guarantees freedom from extraneous wiggles.
            $endgroup$
            – bubba
            Nov 1 '17 at 13:44












            $begingroup$
            And even if you're doing interpolation, you can avoid wiggles just by choosing the interpolation points intelligently. Equally spaced points are a very bad choice.
            $endgroup$
            – bubba
            Nov 1 '17 at 13:47




            $begingroup$
            And even if you're doing interpolation, you can avoid wiggles just by choosing the interpolation points intelligently. Equally spaced points are a very bad choice.
            $endgroup$
            – bubba
            Nov 1 '17 at 13:47











            18












            $begingroup$

            Cubic splines are often used to plot the cutting lines followed by numerically-controlled milling machines. The machines' cutters are typically rotating drill points that are moved over the surface to be cut by horizontal and vertical actuators. Obviously the node values have to be the same so as to have a single contiguous line to cut, and the node first derivatives have to be the same so the actuators aren't forced to change directions abruptly. What is less obvious is that the second derivatives have to be the same because matching the local accelerating motion of the drill point requires the speed of the drill rotation to vary, and allowing it to vary too abruptly is liable to damage the drill.






            share|cite|improve this answer









            $endgroup$













            • $begingroup$
              Milling machines (traditional ones, anyway) can only move in straight lines. The lines might be very short, and the angles between them very small, but they're still straight lines.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:50
















            18












            $begingroup$

            Cubic splines are often used to plot the cutting lines followed by numerically-controlled milling machines. The machines' cutters are typically rotating drill points that are moved over the surface to be cut by horizontal and vertical actuators. Obviously the node values have to be the same so as to have a single contiguous line to cut, and the node first derivatives have to be the same so the actuators aren't forced to change directions abruptly. What is less obvious is that the second derivatives have to be the same because matching the local accelerating motion of the drill point requires the speed of the drill rotation to vary, and allowing it to vary too abruptly is liable to damage the drill.






            share|cite|improve this answer









            $endgroup$













            • $begingroup$
              Milling machines (traditional ones, anyway) can only move in straight lines. The lines might be very short, and the angles between them very small, but they're still straight lines.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:50














            18












            18








            18





            $begingroup$

            Cubic splines are often used to plot the cutting lines followed by numerically-controlled milling machines. The machines' cutters are typically rotating drill points that are moved over the surface to be cut by horizontal and vertical actuators. Obviously the node values have to be the same so as to have a single contiguous line to cut, and the node first derivatives have to be the same so the actuators aren't forced to change directions abruptly. What is less obvious is that the second derivatives have to be the same because matching the local accelerating motion of the drill point requires the speed of the drill rotation to vary, and allowing it to vary too abruptly is liable to damage the drill.






            share|cite|improve this answer









            $endgroup$



            Cubic splines are often used to plot the cutting lines followed by numerically-controlled milling machines. The machines' cutters are typically rotating drill points that are moved over the surface to be cut by horizontal and vertical actuators. Obviously the node values have to be the same so as to have a single contiguous line to cut, and the node first derivatives have to be the same so the actuators aren't forced to change directions abruptly. What is less obvious is that the second derivatives have to be the same because matching the local accelerating motion of the drill point requires the speed of the drill rotation to vary, and allowing it to vary too abruptly is liable to damage the drill.







            share|cite|improve this answer












            share|cite|improve this answer



            share|cite|improve this answer










            answered Oct 30 '17 at 15:52









            PMarPMar

            1812




            1812












            • $begingroup$
              Milling machines (traditional ones, anyway) can only move in straight lines. The lines might be very short, and the angles between them very small, but they're still straight lines.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:50


















            • $begingroup$
              Milling machines (traditional ones, anyway) can only move in straight lines. The lines might be very short, and the angles between them very small, but they're still straight lines.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:50
















            $begingroup$
            Milling machines (traditional ones, anyway) can only move in straight lines. The lines might be very short, and the angles between them very small, but they're still straight lines.
            $endgroup$
            – bubba
            Nov 1 '17 at 13:50




            $begingroup$
            Milling machines (traditional ones, anyway) can only move in straight lines. The lines might be very short, and the angles between them very small, but they're still straight lines.
            $endgroup$
            – bubba
            Nov 1 '17 at 13:50











            16












            $begingroup$

            Splines allow interpolation with local support: moving a control point affects only the region around the control point (where "region" can be defined precisely as a function of the order of the spline). This is in contrast to e.g. interpolation by a single polynomial, where a small change at one control point can cause a large change at an arbitrary distance.



            This local support is particularly useful in computer-aided design, as indicated by the name spline, which comes from the flexible rulers used in pre-computer design. It is significant that two of the most important eponymous objects in the theory of splines (the de Casteljau algorithm and Bézier splines) are named respectively for a mathematician at Citroën and an engineer at Renault.






            share|cite|improve this answer









            $endgroup$













            • $begingroup$
              This is the real benefit of splines over polynomials -- local control and faster evaluation.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:47
















            16












            $begingroup$

            Splines allow interpolation with local support: moving a control point affects only the region around the control point (where "region" can be defined precisely as a function of the order of the spline). This is in contrast to e.g. interpolation by a single polynomial, where a small change at one control point can cause a large change at an arbitrary distance.



            This local support is particularly useful in computer-aided design, as indicated by the name spline, which comes from the flexible rulers used in pre-computer design. It is significant that two of the most important eponymous objects in the theory of splines (the de Casteljau algorithm and Bézier splines) are named respectively for a mathematician at Citroën and an engineer at Renault.






            share|cite|improve this answer









            $endgroup$













            • $begingroup$
              This is the real benefit of splines over polynomials -- local control and faster evaluation.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:47














            16












            16








            16





            $begingroup$

            Splines allow interpolation with local support: moving a control point affects only the region around the control point (where "region" can be defined precisely as a function of the order of the spline). This is in contrast to e.g. interpolation by a single polynomial, where a small change at one control point can cause a large change at an arbitrary distance.



            This local support is particularly useful in computer-aided design, as indicated by the name spline, which comes from the flexible rulers used in pre-computer design. It is significant that two of the most important eponymous objects in the theory of splines (the de Casteljau algorithm and Bézier splines) are named respectively for a mathematician at Citroën and an engineer at Renault.






            share|cite|improve this answer









            $endgroup$



            Splines allow interpolation with local support: moving a control point affects only the region around the control point (where "region" can be defined precisely as a function of the order of the spline). This is in contrast to e.g. interpolation by a single polynomial, where a small change at one control point can cause a large change at an arbitrary distance.



            This local support is particularly useful in computer-aided design, as indicated by the name spline, which comes from the flexible rulers used in pre-computer design. It is significant that two of the most important eponymous objects in the theory of splines (the de Casteljau algorithm and Bézier splines) are named respectively for a mathematician at Citroën and an engineer at Renault.







            share|cite|improve this answer












            share|cite|improve this answer



            share|cite|improve this answer










            answered Oct 30 '17 at 15:02









            Peter TaylorPeter Taylor

            9,15712343




            9,15712343












            • $begingroup$
              This is the real benefit of splines over polynomials -- local control and faster evaluation.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:47


















            • $begingroup$
              This is the real benefit of splines over polynomials -- local control and faster evaluation.
              $endgroup$
              – bubba
              Nov 1 '17 at 13:47
















            $begingroup$
            This is the real benefit of splines over polynomials -- local control and faster evaluation.
            $endgroup$
            – bubba
            Nov 1 '17 at 13:47




            $begingroup$
            This is the real benefit of splines over polynomials -- local control and faster evaluation.
            $endgroup$
            – bubba
            Nov 1 '17 at 13:47











            12












            $begingroup$

            One of the application of splines is the interpolation of discrete data. If you want to compute the gradient of the interpolated function, then smoothness is important because you want your function to be differentiable.






            share|cite|improve this answer











            $endgroup$













            • $begingroup$
              Why would I want to calculate the gradient?
              $endgroup$
              – user109871
              Oct 30 '17 at 13:29






            • 10




              $begingroup$
              I work with camshaft applications and the shape of the cam is measured in discrete points. The design and analysis of a cam profile depend on evaluating 1st, 2nd, 3rd and 4th order derivatives of the shape. Without splines, it would be impossible to design a modern efficient car.
              $endgroup$
              – ja72
              Oct 30 '17 at 13:31










            • $begingroup$
              Recalling that velocity and acceleration are first and second derivatives of position with respect to time, you would not want the lathe you are using to generate these shapes to be "jerky" or thrusting too quickly, lest you crack the material you were using.
              $endgroup$
              – J. M. is not a mathematician
              Oct 31 '17 at 3:41
















            12












            $begingroup$

            One of the application of splines is the interpolation of discrete data. If you want to compute the gradient of the interpolated function, then smoothness is important because you want your function to be differentiable.






            share|cite|improve this answer











            $endgroup$













            • $begingroup$
              Why would I want to calculate the gradient?
              $endgroup$
              – user109871
              Oct 30 '17 at 13:29






            • 10




              $begingroup$
              I work with camshaft applications and the shape of the cam is measured in discrete points. The design and analysis of a cam profile depend on evaluating 1st, 2nd, 3rd and 4th order derivatives of the shape. Without splines, it would be impossible to design a modern efficient car.
              $endgroup$
              – ja72
              Oct 30 '17 at 13:31










            • $begingroup$
              Recalling that velocity and acceleration are first and second derivatives of position with respect to time, you would not want the lathe you are using to generate these shapes to be "jerky" or thrusting too quickly, lest you crack the material you were using.
              $endgroup$
              – J. M. is not a mathematician
              Oct 31 '17 at 3:41














            12












            12








            12





            $begingroup$

            One of the application of splines is the interpolation of discrete data. If you want to compute the gradient of the interpolated function, then smoothness is important because you want your function to be differentiable.






            share|cite|improve this answer











            $endgroup$



            One of the application of splines is the interpolation of discrete data. If you want to compute the gradient of the interpolated function, then smoothness is important because you want your function to be differentiable.







            share|cite|improve this answer














            share|cite|improve this answer



            share|cite|improve this answer








            edited Oct 30 '17 at 23:01









            mjul

            1053




            1053










            answered Oct 30 '17 at 12:39









            stitystity

            3,200513




            3,200513












            • $begingroup$
              Why would I want to calculate the gradient?
              $endgroup$
              – user109871
              Oct 30 '17 at 13:29






            • 10




              $begingroup$
              I work with camshaft applications and the shape of the cam is measured in discrete points. The design and analysis of a cam profile depend on evaluating 1st, 2nd, 3rd and 4th order derivatives of the shape. Without splines, it would be impossible to design a modern efficient car.
              $endgroup$
              – ja72
              Oct 30 '17 at 13:31










            • $begingroup$
              Recalling that velocity and acceleration are first and second derivatives of position with respect to time, you would not want the lathe you are using to generate these shapes to be "jerky" or thrusting too quickly, lest you crack the material you were using.
              $endgroup$
              – J. M. is not a mathematician
              Oct 31 '17 at 3:41


















            • $begingroup$
              Why would I want to calculate the gradient?
              $endgroup$
              – user109871
              Oct 30 '17 at 13:29






            • 10




              $begingroup$
              I work with camshaft applications and the shape of the cam is measured in discrete points. The design and analysis of a cam profile depend on evaluating 1st, 2nd, 3rd and 4th order derivatives of the shape. Without splines, it would be impossible to design a modern efficient car.
              $endgroup$
              – ja72
              Oct 30 '17 at 13:31










            • $begingroup$
              Recalling that velocity and acceleration are first and second derivatives of position with respect to time, you would not want the lathe you are using to generate these shapes to be "jerky" or thrusting too quickly, lest you crack the material you were using.
              $endgroup$
              – J. M. is not a mathematician
              Oct 31 '17 at 3:41
















            $begingroup$
            Why would I want to calculate the gradient?
            $endgroup$
            – user109871
            Oct 30 '17 at 13:29




            $begingroup$
            Why would I want to calculate the gradient?
            $endgroup$
            – user109871
            Oct 30 '17 at 13:29




            10




            10




            $begingroup$
            I work with camshaft applications and the shape of the cam is measured in discrete points. The design and analysis of a cam profile depend on evaluating 1st, 2nd, 3rd and 4th order derivatives of the shape. Without splines, it would be impossible to design a modern efficient car.
            $endgroup$
            – ja72
            Oct 30 '17 at 13:31




            $begingroup$
            I work with camshaft applications and the shape of the cam is measured in discrete points. The design and analysis of a cam profile depend on evaluating 1st, 2nd, 3rd and 4th order derivatives of the shape. Without splines, it would be impossible to design a modern efficient car.
            $endgroup$
            – ja72
            Oct 30 '17 at 13:31












            $begingroup$
            Recalling that velocity and acceleration are first and second derivatives of position with respect to time, you would not want the lathe you are using to generate these shapes to be "jerky" or thrusting too quickly, lest you crack the material you were using.
            $endgroup$
            – J. M. is not a mathematician
            Oct 31 '17 at 3:41




            $begingroup$
            Recalling that velocity and acceleration are first and second derivatives of position with respect to time, you would not want the lathe you are using to generate these shapes to be "jerky" or thrusting too quickly, lest you crack the material you were using.
            $endgroup$
            – J. M. is not a mathematician
            Oct 31 '17 at 3:41











            9












            $begingroup$

            One classical application of cubic splines in particular and splines in general is track transition curves.



            Consider the train that travels the straight track with velocity $v$ and enters a curve with the shape of quarter-of-circle arc with radius $R$: its acceleration instantly goes from $0$ to $frac{v^2}{R}$ (pointed to the center of the curve). Such jerks can be very destructive, especially when the speed and the train's mass are large. To alleviate this, track transition curves are used: they're curves with smoothly varying curvature that, crucially, has at least one point with zero curvature.



            The simplest such curve is a cubic parabola, and it has been used in railroad construction since the middle of the 19th century. One can use suitable cubics to sew together straight lines and circle arcs and end with a curve that is still smooth up to the third derivative.






            share|cite|improve this answer









            $endgroup$


















              9












              $begingroup$

              One classical application of cubic splines in particular and splines in general is track transition curves.



              Consider the train that travels the straight track with velocity $v$ and enters a curve with the shape of quarter-of-circle arc with radius $R$: its acceleration instantly goes from $0$ to $frac{v^2}{R}$ (pointed to the center of the curve). Such jerks can be very destructive, especially when the speed and the train's mass are large. To alleviate this, track transition curves are used: they're curves with smoothly varying curvature that, crucially, has at least one point with zero curvature.



              The simplest such curve is a cubic parabola, and it has been used in railroad construction since the middle of the 19th century. One can use suitable cubics to sew together straight lines and circle arcs and end with a curve that is still smooth up to the third derivative.






              share|cite|improve this answer









              $endgroup$
















                9












                9








                9





                $begingroup$

                One classical application of cubic splines in particular and splines in general is track transition curves.



                Consider the train that travels the straight track with velocity $v$ and enters a curve with the shape of quarter-of-circle arc with radius $R$: its acceleration instantly goes from $0$ to $frac{v^2}{R}$ (pointed to the center of the curve). Such jerks can be very destructive, especially when the speed and the train's mass are large. To alleviate this, track transition curves are used: they're curves with smoothly varying curvature that, crucially, has at least one point with zero curvature.



                The simplest such curve is a cubic parabola, and it has been used in railroad construction since the middle of the 19th century. One can use suitable cubics to sew together straight lines and circle arcs and end with a curve that is still smooth up to the third derivative.






                share|cite|improve this answer









                $endgroup$



                One classical application of cubic splines in particular and splines in general is track transition curves.



                Consider the train that travels the straight track with velocity $v$ and enters a curve with the shape of quarter-of-circle arc with radius $R$: its acceleration instantly goes from $0$ to $frac{v^2}{R}$ (pointed to the center of the curve). Such jerks can be very destructive, especially when the speed and the train's mass are large. To alleviate this, track transition curves are used: they're curves with smoothly varying curvature that, crucially, has at least one point with zero curvature.



                The simplest such curve is a cubic parabola, and it has been used in railroad construction since the middle of the 19th century. One can use suitable cubics to sew together straight lines and circle arcs and end with a curve that is still smooth up to the third derivative.







                share|cite|improve this answer












                share|cite|improve this answer



                share|cite|improve this answer










                answered Oct 30 '17 at 20:42









                Joker_vDJoker_vD

                304210




                304210























                    7












                    $begingroup$

                    Splines only follow one particular parametric equation in a piecewise way. One absurd special case - a linear "spline" with C^0 continuity is just what you get by drawing straight lines between the vertices you're interpolating in sequence. Each line follows a single linear parametric equation, C^0 means no derivatives need to match at each join - only the actual position - so you end up with straight lines and sharp corners (piecewise linear interpolation). If your requirement specifies "curve", probably not what you want.



                    As an aside, I can't remember if vertices are the same thing as knots ATM. I seem to remember the knots being on a separate "time" line, saying "when" the vertices are with respect to the parameter that the parametric equations are based on, with the respective vertices specifying where in space.



                    There's always some kind of discontinuity at vertices, or it wouldn't be a piecewise curve. The point of specifying the smoothness is to require continuity for at least some set number of derivatives, since those are what describe how smoothly the curve varies - that's what makes it one piecewise curve, as opposed to a bunch of curves joining at sharp corners.



                    C^2 is a good general-purpose (but not universally applicable) level of continuity. People don't generally perceive the higher-order discontinuities by appearance or by touch. It's also generally sufficient for practical applications too (e.g. minimising turbulance for applications where aerodynamics are important).



                    It's also probably partly tradition, given that the old physical splines used for ship-building gave C^2 continuity at the "ducks" (lead weights) IIRC.



                    Actually, strictly speaking, C^(anything) joins can still be sharp for the same reason that you can have a sharp point even where there is no vertex - the "curve" can have a stopping-point WRT the parameter anywhere, and can move away from that point in a different direction without having a discontinuity WRT the parameter. There are alternative ways of specifying the continuity constraints to address that issue which I can't remember again, though I think the notation is G^n (for geometric continuity) rather than C^n.





                    EDIT - the $C^2$ claim above is disputed in comments. I finally decided I should check where I got my reference from, and it looks like I'm probably wrong. Most likely I was misremembering something from the second edition of Curves and Surfaces for Computer Aided Geometric Design by Gerald Farin.



                    Chapter 9 is about "Cubic Spline Interpolation". Section 9.5 "The Minimum Property" mentions those "Ducks". The point being made is that the traditional splines "minimize strain energy". An integral is given for that, but that is obviously a "geometric" integral (it's in terms of geometric properties, mainly distance, with no reference to any parameterization). Farin then immediately gives a "simpler" parametric integral (it's actually more complex, but presumably easier to evaluate the integral or otherwise work with - besides, the chapter is about cubic spline interpolation, building up to (parametric) B-splines in chapter 10 - geometric continuity not covered until chapters 12 and 13).



                    Both of the integrals have powers of 2 - the original integral is $int (kappa (s))^2 ds$. This may also have helped mislead me. Just because formulas for energy tend to have squares in them doesn't mean the continuity is $C^2$ - minimization of this energy is certainly going to avoid discontinuity.



                    Maybe I should spend some time working through this. I know there have been papers for minimum energy and minumum curvature (not the same thing AFAICT) curves published. One issue is probably that a true minimum energy/curvature curve is a global curve - all points are affected by all ducks/knots. For piecewise curves. Each piece is between two vertices - the minimum energy for that is a straight line so useless. Thinking of the piece as part of a larger minimum energy segment between the relevant ducks/knots that affect it has the problem that there's no guarantee that the joins between pieces will achieve any degree of continuity. Try to fix that without losing the local property and while still having a meaningful minimum energy/curvature property appears problematic at best.



                    Anyway, as far as I can tell so far, first, a physical spline obviously has geometric rather than parametric continuity - there is no one particular parameterization, so inflection points just because the derivative in some direction with respect to that parameter are zero can't occur. I can believe that the geometric continuity is greater than two (even as an idealised model, ie not just because real wood is a complex material and each piece is unique) because of this minimum energy property, but I don't know.



                    Perhaps a more reasonable explanation for the popularity of C^2 continuity, especially in the early days of CAD, was because cubic parametric equations achieved that and the derivatives/hodographs have simple quadratic equations that can easily be directly solved. This is useful for a number of things, e.g. finding turning points in order to find bounding boxes.






                    share|cite|improve this answer











                    $endgroup$













                    • $begingroup$
                      C^n continuity means that the nth derivative (and all previous ones) entering and leaving are the same: G^n continuity means that they differ only by a scalar (same "direction" but possibly different magnitude).
                      $endgroup$
                      – Peter Taylor
                      Oct 31 '17 at 9:37










                    • $begingroup$
                      @PeterTaylor - doesn't G^n also mean you look at the actual geometry, rather than how things change with respect to some particular parameterization? Or is that implied by your definition anyway? (if all derivatives up to n at some point must have the same direction but not necessarily the same magnitude, that intuitively seems to focus on shape rather than any particular parameterization, but I never studied this formally and could easily be missing something).
                      $endgroup$
                      – Steve314
                      Oct 31 '17 at 14:11










                    • $begingroup$
                      @PeterTaylor - I just realised the important point for your definition of G^n is what happens when the nth derivative is zero at the point. For C^n, since the magnitude of the derivative is zero it has no direction. For G^n, since you define that it has direction and don't care about magnitude, it potentially requires a more sophisticated (or more just-look-at-it) approach to determine what the direction is than directly evaluating the derivative at that point.
                      $endgroup$
                      – Steve314
                      Oct 31 '17 at 14:22










                    • $begingroup$
                      The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood.
                      $endgroup$
                      – bubba
                      Nov 1 '17 at 13:53










                    • $begingroup$
                      @bubba "The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood." Do you have a reference or other evidence for this claim? It's not at all obvious to me. For example, take the simplest nontrivial physical spline, that is, a thin strip held in place by three pegs, pushing on the strip in alternating directions. I could believe that the minimum-energy solution might be a circular arc interpolating the three pegs, attached to two straight rays. The instantaneous curvature change would make it only $G^1$.
                      $endgroup$
                      – Don Hatch
                      Jan 6 at 5:06
















                    7












                    $begingroup$

                    Splines only follow one particular parametric equation in a piecewise way. One absurd special case - a linear "spline" with C^0 continuity is just what you get by drawing straight lines between the vertices you're interpolating in sequence. Each line follows a single linear parametric equation, C^0 means no derivatives need to match at each join - only the actual position - so you end up with straight lines and sharp corners (piecewise linear interpolation). If your requirement specifies "curve", probably not what you want.



                    As an aside, I can't remember if vertices are the same thing as knots ATM. I seem to remember the knots being on a separate "time" line, saying "when" the vertices are with respect to the parameter that the parametric equations are based on, with the respective vertices specifying where in space.



                    There's always some kind of discontinuity at vertices, or it wouldn't be a piecewise curve. The point of specifying the smoothness is to require continuity for at least some set number of derivatives, since those are what describe how smoothly the curve varies - that's what makes it one piecewise curve, as opposed to a bunch of curves joining at sharp corners.



                    C^2 is a good general-purpose (but not universally applicable) level of continuity. People don't generally perceive the higher-order discontinuities by appearance or by touch. It's also generally sufficient for practical applications too (e.g. minimising turbulance for applications where aerodynamics are important).



                    It's also probably partly tradition, given that the old physical splines used for ship-building gave C^2 continuity at the "ducks" (lead weights) IIRC.



                    Actually, strictly speaking, C^(anything) joins can still be sharp for the same reason that you can have a sharp point even where there is no vertex - the "curve" can have a stopping-point WRT the parameter anywhere, and can move away from that point in a different direction without having a discontinuity WRT the parameter. There are alternative ways of specifying the continuity constraints to address that issue which I can't remember again, though I think the notation is G^n (for geometric continuity) rather than C^n.





                    EDIT - the $C^2$ claim above is disputed in comments. I finally decided I should check where I got my reference from, and it looks like I'm probably wrong. Most likely I was misremembering something from the second edition of Curves and Surfaces for Computer Aided Geometric Design by Gerald Farin.



                    Chapter 9 is about "Cubic Spline Interpolation". Section 9.5 "The Minimum Property" mentions those "Ducks". The point being made is that the traditional splines "minimize strain energy". An integral is given for that, but that is obviously a "geometric" integral (it's in terms of geometric properties, mainly distance, with no reference to any parameterization). Farin then immediately gives a "simpler" parametric integral (it's actually more complex, but presumably easier to evaluate the integral or otherwise work with - besides, the chapter is about cubic spline interpolation, building up to (parametric) B-splines in chapter 10 - geometric continuity not covered until chapters 12 and 13).



                    Both of the integrals have powers of 2 - the original integral is $int (kappa (s))^2 ds$. This may also have helped mislead me. Just because formulas for energy tend to have squares in them doesn't mean the continuity is $C^2$ - minimization of this energy is certainly going to avoid discontinuity.



                    Maybe I should spend some time working through this. I know there have been papers for minimum energy and minumum curvature (not the same thing AFAICT) curves published. One issue is probably that a true minimum energy/curvature curve is a global curve - all points are affected by all ducks/knots. For piecewise curves. Each piece is between two vertices - the minimum energy for that is a straight line so useless. Thinking of the piece as part of a larger minimum energy segment between the relevant ducks/knots that affect it has the problem that there's no guarantee that the joins between pieces will achieve any degree of continuity. Try to fix that without losing the local property and while still having a meaningful minimum energy/curvature property appears problematic at best.



                    Anyway, as far as I can tell so far, first, a physical spline obviously has geometric rather than parametric continuity - there is no one particular parameterization, so inflection points just because the derivative in some direction with respect to that parameter are zero can't occur. I can believe that the geometric continuity is greater than two (even as an idealised model, ie not just because real wood is a complex material and each piece is unique) because of this minimum energy property, but I don't know.



                    Perhaps a more reasonable explanation for the popularity of C^2 continuity, especially in the early days of CAD, was because cubic parametric equations achieved that and the derivatives/hodographs have simple quadratic equations that can easily be directly solved. This is useful for a number of things, e.g. finding turning points in order to find bounding boxes.






                    share|cite|improve this answer











                    $endgroup$













                    • $begingroup$
                      C^n continuity means that the nth derivative (and all previous ones) entering and leaving are the same: G^n continuity means that they differ only by a scalar (same "direction" but possibly different magnitude).
                      $endgroup$
                      – Peter Taylor
                      Oct 31 '17 at 9:37










                    • $begingroup$
                      @PeterTaylor - doesn't G^n also mean you look at the actual geometry, rather than how things change with respect to some particular parameterization? Or is that implied by your definition anyway? (if all derivatives up to n at some point must have the same direction but not necessarily the same magnitude, that intuitively seems to focus on shape rather than any particular parameterization, but I never studied this formally and could easily be missing something).
                      $endgroup$
                      – Steve314
                      Oct 31 '17 at 14:11










                    • $begingroup$
                      @PeterTaylor - I just realised the important point for your definition of G^n is what happens when the nth derivative is zero at the point. For C^n, since the magnitude of the derivative is zero it has no direction. For G^n, since you define that it has direction and don't care about magnitude, it potentially requires a more sophisticated (or more just-look-at-it) approach to determine what the direction is than directly evaluating the derivative at that point.
                      $endgroup$
                      – Steve314
                      Oct 31 '17 at 14:22










                    • $begingroup$
                      The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood.
                      $endgroup$
                      – bubba
                      Nov 1 '17 at 13:53










                    • $begingroup$
                      @bubba "The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood." Do you have a reference or other evidence for this claim? It's not at all obvious to me. For example, take the simplest nontrivial physical spline, that is, a thin strip held in place by three pegs, pushing on the strip in alternating directions. I could believe that the minimum-energy solution might be a circular arc interpolating the three pegs, attached to two straight rays. The instantaneous curvature change would make it only $G^1$.
                      $endgroup$
                      – Don Hatch
                      Jan 6 at 5:06














                    7












                    7








                    7





                    $begingroup$

                    Splines only follow one particular parametric equation in a piecewise way. One absurd special case - a linear "spline" with C^0 continuity is just what you get by drawing straight lines between the vertices you're interpolating in sequence. Each line follows a single linear parametric equation, C^0 means no derivatives need to match at each join - only the actual position - so you end up with straight lines and sharp corners (piecewise linear interpolation). If your requirement specifies "curve", probably not what you want.



                    As an aside, I can't remember if vertices are the same thing as knots ATM. I seem to remember the knots being on a separate "time" line, saying "when" the vertices are with respect to the parameter that the parametric equations are based on, with the respective vertices specifying where in space.



                    There's always some kind of discontinuity at vertices, or it wouldn't be a piecewise curve. The point of specifying the smoothness is to require continuity for at least some set number of derivatives, since those are what describe how smoothly the curve varies - that's what makes it one piecewise curve, as opposed to a bunch of curves joining at sharp corners.



                    C^2 is a good general-purpose (but not universally applicable) level of continuity. People don't generally perceive the higher-order discontinuities by appearance or by touch. It's also generally sufficient for practical applications too (e.g. minimising turbulance for applications where aerodynamics are important).



                    It's also probably partly tradition, given that the old physical splines used for ship-building gave C^2 continuity at the "ducks" (lead weights) IIRC.



                    Actually, strictly speaking, C^(anything) joins can still be sharp for the same reason that you can have a sharp point even where there is no vertex - the "curve" can have a stopping-point WRT the parameter anywhere, and can move away from that point in a different direction without having a discontinuity WRT the parameter. There are alternative ways of specifying the continuity constraints to address that issue which I can't remember again, though I think the notation is G^n (for geometric continuity) rather than C^n.





                    EDIT - the $C^2$ claim above is disputed in comments. I finally decided I should check where I got my reference from, and it looks like I'm probably wrong. Most likely I was misremembering something from the second edition of Curves and Surfaces for Computer Aided Geometric Design by Gerald Farin.



                    Chapter 9 is about "Cubic Spline Interpolation". Section 9.5 "The Minimum Property" mentions those "Ducks". The point being made is that the traditional splines "minimize strain energy". An integral is given for that, but that is obviously a "geometric" integral (it's in terms of geometric properties, mainly distance, with no reference to any parameterization). Farin then immediately gives a "simpler" parametric integral (it's actually more complex, but presumably easier to evaluate the integral or otherwise work with - besides, the chapter is about cubic spline interpolation, building up to (parametric) B-splines in chapter 10 - geometric continuity not covered until chapters 12 and 13).



                    Both of the integrals have powers of 2 - the original integral is $int (kappa (s))^2 ds$. This may also have helped mislead me. Just because formulas for energy tend to have squares in them doesn't mean the continuity is $C^2$ - minimization of this energy is certainly going to avoid discontinuity.



                    Maybe I should spend some time working through this. I know there have been papers for minimum energy and minumum curvature (not the same thing AFAICT) curves published. One issue is probably that a true minimum energy/curvature curve is a global curve - all points are affected by all ducks/knots. For piecewise curves. Each piece is between two vertices - the minimum energy for that is a straight line so useless. Thinking of the piece as part of a larger minimum energy segment between the relevant ducks/knots that affect it has the problem that there's no guarantee that the joins between pieces will achieve any degree of continuity. Try to fix that without losing the local property and while still having a meaningful minimum energy/curvature property appears problematic at best.



                    Anyway, as far as I can tell so far, first, a physical spline obviously has geometric rather than parametric continuity - there is no one particular parameterization, so inflection points just because the derivative in some direction with respect to that parameter are zero can't occur. I can believe that the geometric continuity is greater than two (even as an idealised model, ie not just because real wood is a complex material and each piece is unique) because of this minimum energy property, but I don't know.



                    Perhaps a more reasonable explanation for the popularity of C^2 continuity, especially in the early days of CAD, was because cubic parametric equations achieved that and the derivatives/hodographs have simple quadratic equations that can easily be directly solved. This is useful for a number of things, e.g. finding turning points in order to find bounding boxes.






                    share|cite|improve this answer











                    $endgroup$



                    Splines only follow one particular parametric equation in a piecewise way. One absurd special case - a linear "spline" with C^0 continuity is just what you get by drawing straight lines between the vertices you're interpolating in sequence. Each line follows a single linear parametric equation, C^0 means no derivatives need to match at each join - only the actual position - so you end up with straight lines and sharp corners (piecewise linear interpolation). If your requirement specifies "curve", probably not what you want.



                    As an aside, I can't remember if vertices are the same thing as knots ATM. I seem to remember the knots being on a separate "time" line, saying "when" the vertices are with respect to the parameter that the parametric equations are based on, with the respective vertices specifying where in space.



                    There's always some kind of discontinuity at vertices, or it wouldn't be a piecewise curve. The point of specifying the smoothness is to require continuity for at least some set number of derivatives, since those are what describe how smoothly the curve varies - that's what makes it one piecewise curve, as opposed to a bunch of curves joining at sharp corners.



                    C^2 is a good general-purpose (but not universally applicable) level of continuity. People don't generally perceive the higher-order discontinuities by appearance or by touch. It's also generally sufficient for practical applications too (e.g. minimising turbulance for applications where aerodynamics are important).



                    It's also probably partly tradition, given that the old physical splines used for ship-building gave C^2 continuity at the "ducks" (lead weights) IIRC.



                    Actually, strictly speaking, C^(anything) joins can still be sharp for the same reason that you can have a sharp point even where there is no vertex - the "curve" can have a stopping-point WRT the parameter anywhere, and can move away from that point in a different direction without having a discontinuity WRT the parameter. There are alternative ways of specifying the continuity constraints to address that issue which I can't remember again, though I think the notation is G^n (for geometric continuity) rather than C^n.





                    EDIT - the $C^2$ claim above is disputed in comments. I finally decided I should check where I got my reference from, and it looks like I'm probably wrong. Most likely I was misremembering something from the second edition of Curves and Surfaces for Computer Aided Geometric Design by Gerald Farin.



                    Chapter 9 is about "Cubic Spline Interpolation". Section 9.5 "The Minimum Property" mentions those "Ducks". The point being made is that the traditional splines "minimize strain energy". An integral is given for that, but that is obviously a "geometric" integral (it's in terms of geometric properties, mainly distance, with no reference to any parameterization). Farin then immediately gives a "simpler" parametric integral (it's actually more complex, but presumably easier to evaluate the integral or otherwise work with - besides, the chapter is about cubic spline interpolation, building up to (parametric) B-splines in chapter 10 - geometric continuity not covered until chapters 12 and 13).



                    Both of the integrals have powers of 2 - the original integral is $int (kappa (s))^2 ds$. This may also have helped mislead me. Just because formulas for energy tend to have squares in them doesn't mean the continuity is $C^2$ - minimization of this energy is certainly going to avoid discontinuity.



                    Maybe I should spend some time working through this. I know there have been papers for minimum energy and minumum curvature (not the same thing AFAICT) curves published. One issue is probably that a true minimum energy/curvature curve is a global curve - all points are affected by all ducks/knots. For piecewise curves. Each piece is between two vertices - the minimum energy for that is a straight line so useless. Thinking of the piece as part of a larger minimum energy segment between the relevant ducks/knots that affect it has the problem that there's no guarantee that the joins between pieces will achieve any degree of continuity. Try to fix that without losing the local property and while still having a meaningful minimum energy/curvature property appears problematic at best.



                    Anyway, as far as I can tell so far, first, a physical spline obviously has geometric rather than parametric continuity - there is no one particular parameterization, so inflection points just because the derivative in some direction with respect to that parameter are zero can't occur. I can believe that the geometric continuity is greater than two (even as an idealised model, ie not just because real wood is a complex material and each piece is unique) because of this minimum energy property, but I don't know.



                    Perhaps a more reasonable explanation for the popularity of C^2 continuity, especially in the early days of CAD, was because cubic parametric equations achieved that and the derivatives/hodographs have simple quadratic equations that can easily be directly solved. This is useful for a number of things, e.g. finding turning points in order to find bounding boxes.







                    share|cite|improve this answer














                    share|cite|improve this answer



                    share|cite|improve this answer








                    edited Jan 6 at 22:08

























                    answered Oct 30 '17 at 16:41









                    Steve314Steve314

                    5532417




                    5532417












                    • $begingroup$
                      C^n continuity means that the nth derivative (and all previous ones) entering and leaving are the same: G^n continuity means that they differ only by a scalar (same "direction" but possibly different magnitude).
                      $endgroup$
                      – Peter Taylor
                      Oct 31 '17 at 9:37










                    • $begingroup$
                      @PeterTaylor - doesn't G^n also mean you look at the actual geometry, rather than how things change with respect to some particular parameterization? Or is that implied by your definition anyway? (if all derivatives up to n at some point must have the same direction but not necessarily the same magnitude, that intuitively seems to focus on shape rather than any particular parameterization, but I never studied this formally and could easily be missing something).
                      $endgroup$
                      – Steve314
                      Oct 31 '17 at 14:11










                    • $begingroup$
                      @PeterTaylor - I just realised the important point for your definition of G^n is what happens when the nth derivative is zero at the point. For C^n, since the magnitude of the derivative is zero it has no direction. For G^n, since you define that it has direction and don't care about magnitude, it potentially requires a more sophisticated (or more just-look-at-it) approach to determine what the direction is than directly evaluating the derivative at that point.
                      $endgroup$
                      – Steve314
                      Oct 31 '17 at 14:22










                    • $begingroup$
                      The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood.
                      $endgroup$
                      – bubba
                      Nov 1 '17 at 13:53










                    • $begingroup$
                      @bubba "The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood." Do you have a reference or other evidence for this claim? It's not at all obvious to me. For example, take the simplest nontrivial physical spline, that is, a thin strip held in place by three pegs, pushing on the strip in alternating directions. I could believe that the minimum-energy solution might be a circular arc interpolating the three pegs, attached to two straight rays. The instantaneous curvature change would make it only $G^1$.
                      $endgroup$
                      – Don Hatch
                      Jan 6 at 5:06


















                    • $begingroup$
                      C^n continuity means that the nth derivative (and all previous ones) entering and leaving are the same: G^n continuity means that they differ only by a scalar (same "direction" but possibly different magnitude).
                      $endgroup$
                      – Peter Taylor
                      Oct 31 '17 at 9:37










                    • $begingroup$
                      @PeterTaylor - doesn't G^n also mean you look at the actual geometry, rather than how things change with respect to some particular parameterization? Or is that implied by your definition anyway? (if all derivatives up to n at some point must have the same direction but not necessarily the same magnitude, that intuitively seems to focus on shape rather than any particular parameterization, but I never studied this formally and could easily be missing something).
                      $endgroup$
                      – Steve314
                      Oct 31 '17 at 14:11










                    • $begingroup$
                      @PeterTaylor - I just realised the important point for your definition of G^n is what happens when the nth derivative is zero at the point. For C^n, since the magnitude of the derivative is zero it has no direction. For G^n, since you define that it has direction and don't care about magnitude, it potentially requires a more sophisticated (or more just-look-at-it) approach to determine what the direction is than directly evaluating the derivative at that point.
                      $endgroup$
                      – Steve314
                      Oct 31 '17 at 14:22










                    • $begingroup$
                      The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood.
                      $endgroup$
                      – bubba
                      Nov 1 '17 at 13:53










                    • $begingroup$
                      @bubba "The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood." Do you have a reference or other evidence for this claim? It's not at all obvious to me. For example, take the simplest nontrivial physical spline, that is, a thin strip held in place by three pegs, pushing on the strip in alternating directions. I could believe that the minimum-energy solution might be a circular arc interpolating the three pegs, attached to two straight rays. The instantaneous curvature change would make it only $G^1$.
                      $endgroup$
                      – Don Hatch
                      Jan 6 at 5:06
















                    $begingroup$
                    C^n continuity means that the nth derivative (and all previous ones) entering and leaving are the same: G^n continuity means that they differ only by a scalar (same "direction" but possibly different magnitude).
                    $endgroup$
                    – Peter Taylor
                    Oct 31 '17 at 9:37




                    $begingroup$
                    C^n continuity means that the nth derivative (and all previous ones) entering and leaving are the same: G^n continuity means that they differ only by a scalar (same "direction" but possibly different magnitude).
                    $endgroup$
                    – Peter Taylor
                    Oct 31 '17 at 9:37












                    $begingroup$
                    @PeterTaylor - doesn't G^n also mean you look at the actual geometry, rather than how things change with respect to some particular parameterization? Or is that implied by your definition anyway? (if all derivatives up to n at some point must have the same direction but not necessarily the same magnitude, that intuitively seems to focus on shape rather than any particular parameterization, but I never studied this formally and could easily be missing something).
                    $endgroup$
                    – Steve314
                    Oct 31 '17 at 14:11




                    $begingroup$
                    @PeterTaylor - doesn't G^n also mean you look at the actual geometry, rather than how things change with respect to some particular parameterization? Or is that implied by your definition anyway? (if all derivatives up to n at some point must have the same direction but not necessarily the same magnitude, that intuitively seems to focus on shape rather than any particular parameterization, but I never studied this formally and could easily be missing something).
                    $endgroup$
                    – Steve314
                    Oct 31 '17 at 14:11












                    $begingroup$
                    @PeterTaylor - I just realised the important point for your definition of G^n is what happens when the nth derivative is zero at the point. For C^n, since the magnitude of the derivative is zero it has no direction. For G^n, since you define that it has direction and don't care about magnitude, it potentially requires a more sophisticated (or more just-look-at-it) approach to determine what the direction is than directly evaluating the derivative at that point.
                    $endgroup$
                    – Steve314
                    Oct 31 '17 at 14:22




                    $begingroup$
                    @PeterTaylor - I just realised the important point for your definition of G^n is what happens when the nth derivative is zero at the point. For C^n, since the magnitude of the derivative is zero it has no direction. For G^n, since you define that it has direction and don't care about magnitude, it potentially requires a more sophisticated (or more just-look-at-it) approach to determine what the direction is than directly evaluating the derivative at that point.
                    $endgroup$
                    – Steve314
                    Oct 31 '17 at 14:22












                    $begingroup$
                    The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood.
                    $endgroup$
                    – bubba
                    Nov 1 '17 at 13:53




                    $begingroup$
                    The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood.
                    $endgroup$
                    – bubba
                    Nov 1 '17 at 13:53












                    $begingroup$
                    @bubba "The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood." Do you have a reference or other evidence for this claim? It's not at all obvious to me. For example, take the simplest nontrivial physical spline, that is, a thin strip held in place by three pegs, pushing on the strip in alternating directions. I could believe that the minimum-energy solution might be a circular arc interpolating the three pegs, attached to two straight rays. The instantaneous curvature change would make it only $G^1$.
                    $endgroup$
                    – Don Hatch
                    Jan 6 at 5:06




                    $begingroup$
                    @bubba "The physical splines used in shipbuilding were much better than C2. It's pretty difficult to produce a shape discontinuity in a strip of wood." Do you have a reference or other evidence for this claim? It's not at all obvious to me. For example, take the simplest nontrivial physical spline, that is, a thin strip held in place by three pegs, pushing on the strip in alternating directions. I could believe that the minimum-energy solution might be a circular arc interpolating the three pegs, attached to two straight rays. The instantaneous curvature change would make it only $G^1$.
                    $endgroup$
                    – Don Hatch
                    Jan 6 at 5:06











                    4












                    $begingroup$

                    Splines are vital to most computer animation.



                    Animators set key points which are splined to create smooth surfaces, motion, and illumination.
                    Without splining, surfaces look faceted, and motion feels bumpy.



                    Third order continuity is particularly vital for motion.
                    The human eye/brain is very good at picking up slight discontinuities in motion that almost never occur in real life.






                    share|cite|improve this answer









                    $endgroup$


















                      4












                      $begingroup$

                      Splines are vital to most computer animation.



                      Animators set key points which are splined to create smooth surfaces, motion, and illumination.
                      Without splining, surfaces look faceted, and motion feels bumpy.



                      Third order continuity is particularly vital for motion.
                      The human eye/brain is very good at picking up slight discontinuities in motion that almost never occur in real life.






                      share|cite|improve this answer









                      $endgroup$
















                        4












                        4








                        4





                        $begingroup$

                        Splines are vital to most computer animation.



                        Animators set key points which are splined to create smooth surfaces, motion, and illumination.
                        Without splining, surfaces look faceted, and motion feels bumpy.



                        Third order continuity is particularly vital for motion.
                        The human eye/brain is very good at picking up slight discontinuities in motion that almost never occur in real life.






                        share|cite|improve this answer









                        $endgroup$



                        Splines are vital to most computer animation.



                        Animators set key points which are splined to create smooth surfaces, motion, and illumination.
                        Without splining, surfaces look faceted, and motion feels bumpy.



                        Third order continuity is particularly vital for motion.
                        The human eye/brain is very good at picking up slight discontinuities in motion that almost never occur in real life.







                        share|cite|improve this answer












                        share|cite|improve this answer



                        share|cite|improve this answer










                        answered Oct 31 '17 at 2:07









                        HKBHKB

                        411




                        411























                            4












                            $begingroup$

                            Different applications of curves require different kinds of smoothness.



                            There are many situations where you don't want sharp corners. Convex sharp corners are dangerous, and concave ones produce stress concentration and structural weakness. So, you want shapes to be G1 or better.



                            If fluid is going to flowing over a surface (ships, airplanes, turbine blades), then (I think) you want to avoid discontinuities of curvature, because these cause separation of the boundary layer, turbulence, and other bad things. Not my area of expertise, so I may be wrong.



                            In the design of cams, you often want the profile to be G2 or G3 because this impacts the dynamics of the mechanism. Machine designers worry a lot about "jerk". The shapes of roads and railroad tracks have similar shape requirements for similar reasons -- a sudden change in curvature will cause a sudden change in acceleration, so a "jerk" force. The designs often use clothoid curves, on which curvature is a linear function of arclength.



                            Any place where aesthetics is important, you often want very high levels of smoothness. This is especially true of glossy surfaces like the bodies of cars. Reflection in these surfaces accentuates discontinuities. For example, if a surface is not G2, then reflections of straight lines will not be G1, so they will have ugly looking corners. Similarly, to get G2 reflection lines, you need G3 surfaces. Designers typically try to make car bodies G3 or better.



                            Cubic splines are suitable for some of these applications, but not for others. They allow you to create curves that are G2 at their joins, which is good enough for many applications. It's not good enough for designing car exteriors. Actually, car designers don't like splines at all. They are suspicious of the inter-segment joins, so they prefer using Bézier curves (polynomial curves) of degrees up to around 7 or 8. The systems created by de Casteljau and Bézier in the 1960s both allowed degrees this high.



                            Note that I have talked only about $G_n$ continuity, not $C_n$. The usual mathematical concept of $C_n$ continuity is strongly dependent on how a curve is parameterized. In most real-world applications, only the shape of a curve or surface is important, and its parameterization is largely irrelevant.






                            share|cite|improve this answer











                            $endgroup$


















                              4












                              $begingroup$

                              Different applications of curves require different kinds of smoothness.



                              There are many situations where you don't want sharp corners. Convex sharp corners are dangerous, and concave ones produce stress concentration and structural weakness. So, you want shapes to be G1 or better.



                              If fluid is going to flowing over a surface (ships, airplanes, turbine blades), then (I think) you want to avoid discontinuities of curvature, because these cause separation of the boundary layer, turbulence, and other bad things. Not my area of expertise, so I may be wrong.



                              In the design of cams, you often want the profile to be G2 or G3 because this impacts the dynamics of the mechanism. Machine designers worry a lot about "jerk". The shapes of roads and railroad tracks have similar shape requirements for similar reasons -- a sudden change in curvature will cause a sudden change in acceleration, so a "jerk" force. The designs often use clothoid curves, on which curvature is a linear function of arclength.



                              Any place where aesthetics is important, you often want very high levels of smoothness. This is especially true of glossy surfaces like the bodies of cars. Reflection in these surfaces accentuates discontinuities. For example, if a surface is not G2, then reflections of straight lines will not be G1, so they will have ugly looking corners. Similarly, to get G2 reflection lines, you need G3 surfaces. Designers typically try to make car bodies G3 or better.



                              Cubic splines are suitable for some of these applications, but not for others. They allow you to create curves that are G2 at their joins, which is good enough for many applications. It's not good enough for designing car exteriors. Actually, car designers don't like splines at all. They are suspicious of the inter-segment joins, so they prefer using Bézier curves (polynomial curves) of degrees up to around 7 or 8. The systems created by de Casteljau and Bézier in the 1960s both allowed degrees this high.



                              Note that I have talked only about $G_n$ continuity, not $C_n$. The usual mathematical concept of $C_n$ continuity is strongly dependent on how a curve is parameterized. In most real-world applications, only the shape of a curve or surface is important, and its parameterization is largely irrelevant.






                              share|cite|improve this answer











                              $endgroup$
















                                4












                                4








                                4





                                $begingroup$

                                Different applications of curves require different kinds of smoothness.



                                There are many situations where you don't want sharp corners. Convex sharp corners are dangerous, and concave ones produce stress concentration and structural weakness. So, you want shapes to be G1 or better.



                                If fluid is going to flowing over a surface (ships, airplanes, turbine blades), then (I think) you want to avoid discontinuities of curvature, because these cause separation of the boundary layer, turbulence, and other bad things. Not my area of expertise, so I may be wrong.



                                In the design of cams, you often want the profile to be G2 or G3 because this impacts the dynamics of the mechanism. Machine designers worry a lot about "jerk". The shapes of roads and railroad tracks have similar shape requirements for similar reasons -- a sudden change in curvature will cause a sudden change in acceleration, so a "jerk" force. The designs often use clothoid curves, on which curvature is a linear function of arclength.



                                Any place where aesthetics is important, you often want very high levels of smoothness. This is especially true of glossy surfaces like the bodies of cars. Reflection in these surfaces accentuates discontinuities. For example, if a surface is not G2, then reflections of straight lines will not be G1, so they will have ugly looking corners. Similarly, to get G2 reflection lines, you need G3 surfaces. Designers typically try to make car bodies G3 or better.



                                Cubic splines are suitable for some of these applications, but not for others. They allow you to create curves that are G2 at their joins, which is good enough for many applications. It's not good enough for designing car exteriors. Actually, car designers don't like splines at all. They are suspicious of the inter-segment joins, so they prefer using Bézier curves (polynomial curves) of degrees up to around 7 or 8. The systems created by de Casteljau and Bézier in the 1960s both allowed degrees this high.



                                Note that I have talked only about $G_n$ continuity, not $C_n$. The usual mathematical concept of $C_n$ continuity is strongly dependent on how a curve is parameterized. In most real-world applications, only the shape of a curve or surface is important, and its parameterization is largely irrelevant.






                                share|cite|improve this answer











                                $endgroup$



                                Different applications of curves require different kinds of smoothness.



                                There are many situations where you don't want sharp corners. Convex sharp corners are dangerous, and concave ones produce stress concentration and structural weakness. So, you want shapes to be G1 or better.



                                If fluid is going to flowing over a surface (ships, airplanes, turbine blades), then (I think) you want to avoid discontinuities of curvature, because these cause separation of the boundary layer, turbulence, and other bad things. Not my area of expertise, so I may be wrong.



                                In the design of cams, you often want the profile to be G2 or G3 because this impacts the dynamics of the mechanism. Machine designers worry a lot about "jerk". The shapes of roads and railroad tracks have similar shape requirements for similar reasons -- a sudden change in curvature will cause a sudden change in acceleration, so a "jerk" force. The designs often use clothoid curves, on which curvature is a linear function of arclength.



                                Any place where aesthetics is important, you often want very high levels of smoothness. This is especially true of glossy surfaces like the bodies of cars. Reflection in these surfaces accentuates discontinuities. For example, if a surface is not G2, then reflections of straight lines will not be G1, so they will have ugly looking corners. Similarly, to get G2 reflection lines, you need G3 surfaces. Designers typically try to make car bodies G3 or better.



                                Cubic splines are suitable for some of these applications, but not for others. They allow you to create curves that are G2 at their joins, which is good enough for many applications. It's not good enough for designing car exteriors. Actually, car designers don't like splines at all. They are suspicious of the inter-segment joins, so they prefer using Bézier curves (polynomial curves) of degrees up to around 7 or 8. The systems created by de Casteljau and Bézier in the 1960s both allowed degrees this high.



                                Note that I have talked only about $G_n$ continuity, not $C_n$. The usual mathematical concept of $C_n$ continuity is strongly dependent on how a curve is parameterized. In most real-world applications, only the shape of a curve or surface is important, and its parameterization is largely irrelevant.







                                share|cite|improve this answer














                                share|cite|improve this answer



                                share|cite|improve this answer








                                edited Nov 1 '17 at 14:05

























                                answered Nov 1 '17 at 13:34









                                bubbabubba

                                30.8k33188




                                30.8k33188























                                    2












                                    $begingroup$

                                    Splines are useful for representing data and physical phenomena, especially if you have a prior notion of smoothness. They strictly enforce this notion and the level that you choose can be thought of as a form of regularization if you were to employ the splines to facilitate an inference (solution to an inverse problem).






                                    share|cite|improve this answer









                                    $endgroup$


















                                      2












                                      $begingroup$

                                      Splines are useful for representing data and physical phenomena, especially if you have a prior notion of smoothness. They strictly enforce this notion and the level that you choose can be thought of as a form of regularization if you were to employ the splines to facilitate an inference (solution to an inverse problem).






                                      share|cite|improve this answer









                                      $endgroup$
















                                        2












                                        2








                                        2





                                        $begingroup$

                                        Splines are useful for representing data and physical phenomena, especially if you have a prior notion of smoothness. They strictly enforce this notion and the level that you choose can be thought of as a form of regularization if you were to employ the splines to facilitate an inference (solution to an inverse problem).






                                        share|cite|improve this answer









                                        $endgroup$



                                        Splines are useful for representing data and physical phenomena, especially if you have a prior notion of smoothness. They strictly enforce this notion and the level that you choose can be thought of as a form of regularization if you were to employ the splines to facilitate an inference (solution to an inverse problem).







                                        share|cite|improve this answer












                                        share|cite|improve this answer



                                        share|cite|improve this answer










                                        answered Nov 1 '17 at 16:45









                                        eigenjohnsoneigenjohnson

                                        54125




                                        54125























                                            2












                                            $begingroup$

                                            Cubic splines represent the deflections of beams under Euler-Bernoulli beam theory exactly. This theory is the foundation for basically all FEM-software used in structural analysis.



                                            If your workplace is in a more building more than four stories and built after 1990, I estimate the probability of splines being used in the design of your workplace building to more than 90 %!



                                            The smoothness of these splines is the smoothness of the deflection formulation of the beams in the structure. If we didn't have the higher order continuity, we would have discontinuities in our stress field. Discontinuous stress fields aren't physical -- at least not until we arrive at the micro scale!






                                            share|cite|improve this answer











                                            $endgroup$


















                                              2












                                              $begingroup$

                                              Cubic splines represent the deflections of beams under Euler-Bernoulli beam theory exactly. This theory is the foundation for basically all FEM-software used in structural analysis.



                                              If your workplace is in a more building more than four stories and built after 1990, I estimate the probability of splines being used in the design of your workplace building to more than 90 %!



                                              The smoothness of these splines is the smoothness of the deflection formulation of the beams in the structure. If we didn't have the higher order continuity, we would have discontinuities in our stress field. Discontinuous stress fields aren't physical -- at least not until we arrive at the micro scale!






                                              share|cite|improve this answer











                                              $endgroup$
















                                                2












                                                2








                                                2





                                                $begingroup$

                                                Cubic splines represent the deflections of beams under Euler-Bernoulli beam theory exactly. This theory is the foundation for basically all FEM-software used in structural analysis.



                                                If your workplace is in a more building more than four stories and built after 1990, I estimate the probability of splines being used in the design of your workplace building to more than 90 %!



                                                The smoothness of these splines is the smoothness of the deflection formulation of the beams in the structure. If we didn't have the higher order continuity, we would have discontinuities in our stress field. Discontinuous stress fields aren't physical -- at least not until we arrive at the micro scale!






                                                share|cite|improve this answer











                                                $endgroup$



                                                Cubic splines represent the deflections of beams under Euler-Bernoulli beam theory exactly. This theory is the foundation for basically all FEM-software used in structural analysis.



                                                If your workplace is in a more building more than four stories and built after 1990, I estimate the probability of splines being used in the design of your workplace building to more than 90 %!



                                                The smoothness of these splines is the smoothness of the deflection formulation of the beams in the structure. If we didn't have the higher order continuity, we would have discontinuities in our stress field. Discontinuous stress fields aren't physical -- at least not until we arrive at the micro scale!







                                                share|cite|improve this answer














                                                share|cite|improve this answer



                                                share|cite|improve this answer








                                                edited May 11 '18 at 7:54

























                                                answered Oct 31 '17 at 13:50









                                                TeodorTeodor

                                                1513




                                                1513






























                                                    draft saved

                                                    draft discarded




















































                                                    Thanks for contributing an answer to Mathematics Stack Exchange!


                                                    • Please be sure to answer the question. Provide details and share your research!

                                                    But avoid



                                                    • Asking for help, clarification, or responding to other answers.

                                                    • Making statements based on opinion; back them up with references or personal experience.


                                                    Use MathJax to format equations. MathJax reference.


                                                    To learn more, see our tips on writing great answers.




                                                    draft saved


                                                    draft discarded














                                                    StackExchange.ready(
                                                    function () {
                                                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2496490%2fmotivation-of-splines%23new-answer', 'question_page');
                                                    }
                                                    );

                                                    Post as a guest















                                                    Required, but never shown





















































                                                    Required, but never shown














                                                    Required, but never shown












                                                    Required, but never shown







                                                    Required, but never shown

































                                                    Required, but never shown














                                                    Required, but never shown












                                                    Required, but never shown







                                                    Required, but never shown







                                                    Popular posts from this blog

                                                    Probability when a professor distributes a quiz and homework assignment to a class of n students.

                                                    Aardman Animations

                                                    Are they similar matrix