Talk:Cubic Hermite spline

Latest comment: 1 year ago by 203.85.68.211 in topic interpolation formulae alignment

Hermite pronunciation

edit

IPC pronounciation for Hermite anyone? (I dont know, but it seems like a huge fad at wikipedia) -- dormant25

Can be found at Charles Hermite. -- Slowmover 20:54, 15 June 2006 (UTC)Reply

The x parameter

edit

This page does not explain what the   parameter is in the set  . Cww 00:42, 23 March 2007 (UTC)Reply

I added some content on this issue. Berland 16:05, 23 March 2007 (UTC)Reply

m_i ?

edit

In the three-point difference expression for the tangent vector, the tangent itself is labelled with subscript i, where all expressions in its definition are labelled with subscript k. This computation represents the kth tangent, not the ith, yes? 64.247.224.252 15:01, 30 March 2007 (UTC)Reply

Seemed like a blatant error yes. I replaced m_i with m_k. --Berland 15:33, 30 March 2007 (UTC)Reply

y0 and y1 need to be normalized too, not mentioned on this page

edit

I just implemented a cubic hermite spline function according to this description. However, there is one problem with the p(t) formula: The x values get normalized by substituting them with t. But there is no mention of normalizing yk and yk+1. If I don't normalize them similar to y0' = y0 / (xk+1 - xk) and y1' = y1 / (xk+1 - xk), then the effect of the tangents in p(t) is not correct. I'm not very good at formulating mathematical things so I rather would have someone else fix the page. Maybe the expression 'normalizing the interval' implies normalizing the y values as well, but to me it seems you'd have to be a well-versed mathematician to understand that ;-) Just wanted to point this out... Cwienands 04:04, 12 April 2007 (UTC)Reply

You are right, this has to be sorted out. --Berland 20:22, 26 June 2007 (UTC)Reply
I think this is now correctly handled for the finite difference choice of tangents, but there might still be some consistency issues for the other listed tangent choices. --Berland (talk) 21:05, 10 December 2007 (UTC)Reply
I think the handling of 'h' in the second and fourth part of the equation in the non-uniform case isn't correct (or the specifications of the tangents are not). Iff h >> 1 (eg. 100) this becomes pretty obvious: Catmull-Rom would yield m_0=(100-0)/2=50 for A={(0,0), (100,50), (200,100), (300,0)} => h*m_0 = 100 * 50 >> maxP(A)
This would result in a very strongly oscillating function (try it with Excel, Gnumeric or Pages and plot the result)
Either removing 'h' from this equation or mentioning that m_k has to be normalized to yield the real slope (the one which would be the result of the derivative of f(x)=p_0+(x-x_0)*(p_1-p_0)/(x_1-x_0))
Was this clear? If not, don't hesitate to ask.--SvenHerzberg (talk) 04:19, 26 December 2007 (UTC)Reply

Merge

edit

I suggest merging the articles Catmull-Rom spline and Cardinal spline into this article. The contents of those articles are almost only formulas for determining the shared tangent of cubic Hermite splines, and thus fits nicely in as subsections in this article. Berland 18:55, 21 June 2007 (UTC)Reply

Agree

edit

I agree with this whole-heartedly. The two topics are very closely related and are also both short. Putting them together (in an organized, logically flowing way, of course!) would be a definite improvement. We would have to make sure that the links to these pages are properly resolved as well.
-- Bill 15:15, 15 November 2007 (UTC)Reply

I must say that when trying to look up cardinal splines I had a hard time finding out the specifics of it, the Wikipedia article helped. If it is merged then a redirect to the sub-section(not just the page) will be essential. 1 != 2 16:35, 4 December 2007 (UTC)Reply
I agree with the second writer here. This was the place that I actually found out what 'Cardinal Spline' meant. The other page would simply have baffled me completely. 10 December 2007 —Preceding unsigned comment added by 217.45.199.166 (talk) 12:14, 10 December 2007 (UTC)Reply

Then the merge should be completed. I will leave Catmull-Rom spline and Cardinal spline for a few days to verify everything has been merged in before they are replaced with redirects to the subsections. --Berland (talk) 20:22, 10 December 2007 (UTC)Reply

  • The question should be, what is best for the reader: separate articles, or redirects to a master article where Catmull-Rom and Cardinal are found only after wading throug a lot of other detail? The answer should be obvious. What is good for a textbook is not necessarily good for an encyclopedia... --Jorge Stolfi (talk) 15:56, 8 January 2013 (UTC)Reply
edit

I'm not sure which of the many spline pages this would be best for... but after not finding a nice summary on the web for the most common spline equations for graphics I made one myself that I think will be very useful for others as well. You can see it at: http://www.blackpawn.com/texts/splines/ Should I add it as an external link?

Blackpawn (talk) 23:37, 19 April 2008 (UTC)Reply

"Interpolation without derivatives" should go on a separate page

edit

The final section on "Interpolation on the unit interval without derivatives" is not, in fact, Hermite interpolation since it doesn't interpolate any derivatives. Therefore it should go on a different page, for instance a new page on general cubic interpolation. It is useful in the current context of interpolating a data set, but the differences between it and the preceding Hermite interpolants are not made clear. In particular, there will be discontinuities in the derivative at every node, while Hermite interpolation ensures the derivative is continuous. The term "simplification" implies (to me) that it is a simpler way to get the same interpolant, when in actuality it is an interpolant with very different characteristics. —Preceding unsigned comment added by 71.186.99.202 (talk) 19:03, 21 September 2008 (UTC)Reply

Interpolating in the interval requires to be expressed in terms of x

edit

My last edit was reverted, but I am sure about this. Plugging   into the right hand side of the equation yields a function of  , not  ! Can I revert the revert? Julius1979 (talk) 13:32, 6 November 2008 (UTC)Reply

Sorry for reverting, you are right, my mistake. I have reinstated your version. Thanks for being persistent by writing here. --Berland (talk) 13:50, 6 November 2008 (UTC)Reply

I don't think Cubic Hermite is the same as Cubic

edit

The topic "Cubic Interpolation" redirects here, but I don't think that's right. While Hermite is a *form* of cubic, it's not *the* cubic. Under Cubic, I'd expect to see the single-variable version of what's on the Bicubic page. —Preceding unsigned comment added by 129.229.26.125 (talk) 01:03, 15 July 2009 (UTC)Reply

  • Agreed. "Hermite" is not a type of spline, is are a particular method to specify a C1 cubic spline. There should be a master "cubic spline" article with sections or sub-articles on special classes (such as C2 and C1) and specification methods (Hermite, Bézier, coefficient, B-spline, etc.) Unfortunately someone killed the nascent cubic spline article and made it a redirect to this one. I will try to revert that. --Jorge Stolfi (talk) 15:49, 8 January 2013 (UTC)Reply

Quintic

edit

Is there a quintic spline interpolation like the cubic Hermite? I think I found the formulas, but I don't know how to use:

  • q00(t) = - 6t5 + 15t4 - 10t3 + 1
  • q01(t) = 6t5 - 15t4 + 10t3
  • q10(t) = - 3t5 + 8t4 - 6t3 + t
  • q11(t) = - 3t5 + 7t4 - 4t3
  • q20(t) = - 0.5t5 + 1.5t4 - 1.5t3 + 0.5t2
  • q21(t) = 0.5t5 - t4 + 0.5t3

187.37.152.61 (talk) 15:53, 17 May 2010 (UTC)Reply

Given the values and the first two derivatives at t=0 and t=1, you multiply them by these polynomials respectively and add 'em all up. —Tamfang (talk) 06:53, 28 June 2011 (UTC)Reply

What if a have a discrete data set, regularly spaced? I don't know how to determine the derivatives in a smooth way for this case. I would like to have a quintic Catmull-Rom spline, if that's correct. 179.34.239.252 (talk) 22:54, 16 September 2017 (UTC)Reply

Relation to Hermite polynomials?

edit

I cannot discern any relationship whatsoever to Hermite polynomials, which is where Hermite form currently redirects. The spline basis functions described on this page are not even remotely "neat" when expressed as linear combinations of the polynomials described on that page. And that page makes no mention of any other concept that seems even remotely connected to these splines. Google hasn't helped me either, other than to increase my doubt about the relevance of that link. Is there any relationship? If so, what?

And another related question: If that link is not relevant, what does "Hermite form" actually mean? Does it just mean "this particular form defined here" or does it have some meaning outside the domain of cubic Hermite splines? Hermite spline refers to the term as well (with the same confusing link), but as it stands right now I don't have enough information to even know whether the term "Hermite form" is even defined for non-cubic splines. It doesn't seem to be referring to Hermite normal form either, because I can think of no non-contrived way to express the basis polynomials given in the article using a matrix in Hermite normal form. --24.161.61.118 (talk) 22:45, 30 March 2011 (UTC)Reply

You said it better than I was about to. —Tamfang (talk) 06:50, 28 June 2011 (UTC)Reply


Finite difference approximation of the derivative as a tangent

edit

The finite difference approximation of the derivative m_k on a non uniform grid is given incorrectly: m_k = 1/2 * p'(+) + 1/2 * p'(-). In fact, it should be a weighted average: m_k = h(-)/(h(+)+h(-))*p'(+) + h(+)/(h(+)+h(-))*p'(-), where forward and backward differences are p'(+)=(p_k+1 - p_k)/h(+), p'(-)=(p_k - p_k-1)/h(-); and forward and backward grid steps are h(+)=t_k+1 - t_k, h(-) = t_k - t_k-1. The shorter interval contributes stronger to the expression. This can be derived by expanding p in Taylor series around a point t_k. v.s. — Preceding unsigned comment added by 75.67.160.95 (talk) 03:07, 8 October 2012 (UTC)Reply

Interval range

edit

My math skills are often poor, so I didn't actually edit the page, but isn't this portion contradictory:

The parameter c is a tension parameter that must be in the interval (0,1). c=1 will yield all zero tangents, and c=0 yields a Catmull–Rom spline.

The parentheses means that 0 and 1 are excluded, but the article goes on to discuss the implication of those values. I believe that [0, 1] is correct. — Preceding unsigned comment added by 71.182.149.166 (talkcontribs) 22:21, 24 January 2016

Fixed. Glrx (talk) 18:40, 27 January 2016 (UTC)Reply

parabola dreamin'

edit

In the section "Interpolating a data set", I'm surprised not to see what I thought most natural: m_k is the slope at t_k of the quadratic that fits its two neighbors. Is there a name for that? —Tamfang (talk) 01:56, 24 January 2018 (UTC)Reply

confusing graphic

edit

I cannot make sense of the graphic captioned "Geometric interpretation of Catmull–Rom cubic interpolation of the black point with uniformly spaced abscissae.[4]"

I failed to spot any discussion of the graphic in the article.

Is it missing labels next to the minus signs? Is it really obvious what the double-ended arrows are indicating?

Jmichael ll (talk) 03:45, 14 March 2022 (UTC)Reply

Tangents for uniform Catmull-Rom seems incorrect

edit

One part of the article claims that the uniform Catmull–Rom spline can be obtained by

 

However, I'm pretty sure the factor of 1/2 is erroneously placed there, uniform knot spacing for the unit interval generally implies the denominator would equal 2, as the knot spacing is 1, which leads to a double division. According to my tests, the preceding factor of 1/2 is incorrect, it would imply a division by 4 which doesn't match the catmull-rom.

It's also somewhat confusing to talk about the uniform catmull-rom while still using a knot vector, isn't it? When testing this empirically, this seems to be the correct way to generate the uniform catmull-rom spline using the hermite form tangents

 

In addition, this also means that in the previous section, the value of c (tension) would have to be 0 rather than 0.5 to get the uniform Catmull-Rom. — Preceding unsigned comment added by FreyaHolmer (talkcontribs) 09:19, 5 May 2022 (UTC)Reply

interpolation formulae alignment

edit

Should the formula

Interpolation on an arbitrary interval

edit
 

line up with

Representations

edit
 

?

If the change is  , shouldn't   become  , etc.

Jmichael ll (talk) 01:47, 4 June 2022 (UTC)Reply

Could someone please elaborate on why "the tangent values have been scaled by (x_k+1 - x_k)? 203.85.68.211 (talk) 06:04, 13 July 2023 (UTC)Reply
  NODES
eth 4
News 1
orte 2
see 13