View Full Version : Interpolation/Extrapolation/Splines
02-18-2001, 10:44 AM
Hi! I'm sorry for stressing you with this, but I had some problems when looking for infos for my work in mathematics.
The title is "Interpolation/Extrapolation", subtitle "Spline-curves". Now, when I looked through the internet, one mentioned Bezier-Splines, another one Bezier-Curves etc. Now, is a Bezier curve a special case of splines, or are there Bezier curves AND bezier curves?
Can anyone recommend me a tutorial where I can read about the theory of Spline and Bezier-Splines not about the actual implementation?
I know that this is a bit unrelated, but any answers are highly appreciated! Thanks!
02-18-2001, 11:08 AM
After looking another few minutes through the online material, it gets more confusing. One guy shows an example where the spline curve goes through the given control points, where the other guy shows an example where the curve does not go through the control points.
I get the feeling that the word "spline" does not mean anything different than "any kind of curve".
02-18-2001, 09:07 PM
Well, the Catmall-Rom (sp?) spline is the one that goes through all control points. Wait, actually, I think there are some others that do it to, like hermite and koch something or another http://www.opengl.org/discussion_boards/ubb/wink.gif). Bezier splines don't go through all the control points though. There are like 7 or 8 different versions of Bezier, all with different names. It really depends if what you need with them, and what properties you need. (For example Bezier curves have a convex hull defined by control points, Catmull-Rom doesnt)
As for reference, I remember this stuff from Computer Graphics principles and practice (otherwise known as the bible for gfx guys http://www.opengl.org/discussion_boards/ubb/smile.gif)
Maybe you can look up stuff by Foley, vandam, and I forgot the other guys. Sorry.
02-18-2001, 09:44 PM
Well, I'd need any interpolative splines, and I would suppose that are the ones that go through the points. So far I saw hermite splines( p(t) = [x(t),y(t)] ), explicite splines ( y=f(X) ). Implicite splines seem to be very unpractical. I'll look for your authors! Thanks Elixer!
If there's a book which covers all interresting types, I would buy that as well! Any ideas? Thanks!
Michael: Do you do this work for a "Facharbeit"?
I´m just asking ´cause I thougt about doing Bezier stuff for my "Facharbeit" ´cause I already implemented them in my Q3 clone so it wouldn´t be too much work....
02-19-2001, 12:58 PM
Yes, XBCT, it's for my "Facharbeit". After all I came to the conclusion, that bezier spline don't belong to my topic, since they don't interpolate. They would have to go through the "Stützpunkte" to interpolate.
What topic do you have XBCT?
02-19-2001, 01:00 PM
Hey, you wrote your own nick incorrectly!
02-20-2001, 05:13 AM
The common definition for spline has nothing to do with interpolation/aproximation. A spline is a continius function defined over sequence of sucessive knots[t0,t1,..tn], which is piecewize polynomial and has a fixed defgree of continuity equal to the degree of the polynomials.
The simple Bezier curve is a polynomial curve, and thus is a only a very limited spline - curve; The composite Bezier curve is a another example of a spline curve, although it is not a optimal one in term of continuity.
It's a well known fact, that the spline functions give one of the best methods to doing interpolation/aproximation of numerical (point) data. The so called NURBSplines are the most commonly used basis functions for calculating spline curves, although there some different approaches mainly in subdivision area.
If you wish to know more about spline function, you better read one book in numerical methods or/and computational science. I haven't seen any good guide in the web for that http://www.opengl.org/discussion_boards/ubb/frown.gif. If you wish to see some algorithms for calcuating/displaying NURBS curves, I can send you some from my university "Facharbeits" http://www.opengl.org/discussion_boards/ubb/smile.gif.
Regards (Gute Wuenschen http://www.opengl.org/discussion_boards/ubb/smile.gif
02-20-2001, 06:34 AM
K, what I currently think is, that all splines which go through the control points, are interpolative. Any kind of bezier splines doen't belong to this class. I will most probably buy a book this week, but I'm not too sure about which one. Which books will cover Interpolation, and will the ones always cover splines? Which part of mathematics is it?
02-20-2001, 06:41 AM
Oh, the resource our teacher provided has a word on splines.
It sais a spline is defined with these criterias:
1. It interpolates the controlpoints
2. It is identical to a polynom of maximum 3rd degree between two control points
3. It min. two times differencible (well, to the hell with english...)
That article also has a word that interpolation would be equal to finding a function which will go through the control-points. So, since bezier splines don't go through the controlpoints (most times), the can't be splines. What is it all about. Are there many different definitions out in the world? That is driving me to hell.
02-20-2001, 06:47 AM
The article sais that that would have been the definition of a spline-function of a control-point problem. So that seems to go conform with your explanation.
Since I've got Interpolation/Extrapolation as main topic, I will only need the splines which will go through the control-points. So bezier splines fall out. Is there anywhere a list of all existant splines going through the control points?
Well, the I still need to know in which part of mathematics these problems fall (interpolation with normal polynoms and splines), so I can look for a book! If anybody has a hint, I would be very grateful!
The internet tutorials only focus on how to render curves (mostly bezier), but I need the theory. Have got 5 weeks left. Argh.
02-20-2001, 07:00 AM
Ok - the definition which your teacher gave you is not very exact : I think he meant a cubic interpolation spline which is a partial case of a spline curve.
But in fact this is one of the most used http://www.opengl.org/discussion_boards/ubb/smile.gif))
This part of mathematics is called numerical analysis(methods) or computational science.
But probably you need to have some knowledge in linear algebra, calculus and diff. geometry to understand a mathematical book on this topic.
The simple Bezier Curve interpolates only its first and last point - in fact the bezier curve is a polynom, not a "real" spline. But the polynom is a partial case of the spline... http://www.opengl.org/discussion_boards/ubb/smile.gif). The polynoms which interpolate a given set of point are the Lagrange polynom, and more generaly the Hermite polynom.
I think you teacher wants the classic interpolation cubic spline curve, which is calculated by solving a linear equation system mapping the interpolated control points to the another set, which is used with aproximation algorithm to generate the interpolation curve. However the process is a bit complicated, so can't explain it here.(At least it deserves writing some math formulas, not only plain text http://www.opengl.org/discussion_boards/ubb/smile.gif) So try to find a good book on the topic...
02-20-2001, 07:04 AM
i actually follow a (introduction) course on curves at the university (in belgium). We covered 3 types of curves: polynomal curves (using Lagrange polynomals), Bézier curves using Bernstein polynomals) and B-Spline curves (using normalized B-spline polynomals).
Polynomal curves go through the controlpoints, but show heavy oscillations when the degree is high.
Beziercurves are smooth, but require composition of beziercurves to model complex surfaces or curves and when a controlpoint is changed, the whole curve is affected.
B-Splines are better as they interpolate the controlpoints best (using quadratic B-splies) and smoothly (using cubic B-Splines) and can easily be used to model complex surfaces. Also, when a controlpoint is moved, only a small portion of the curve is affected.
B-Splines are used for NURBS : Non-Uniform Rational B-Splines.
If you want more information i can look it up in my course-notes.
02-20-2001, 07:10 AM
So the book I had here is "Curves And Surfaces for Computer Aided Geometric Design" by Gerald Farin
Academic Press. Inc
G. Farin is one of the most famous researchers in the area. His home page is : http://eros.eas.asu.edu/~farin/personal/gf.html
You may find there something about.
The book contains a fully explanantion on the topic and source code too. So I suggest you to go for it.
02-20-2001, 07:18 AM
Oh ****, martin. That contains really a LOT. Is there any chance, that most types of splines and curves covered in this do not go through the control points?
I appreciate any help here. You're a big aid for me!
02-20-2001, 07:32 AM
It has a chapter specially for the spline curves you need - they are called cubic interpolation spline curves. It contains source code also.
If you wish we can discuss it further on ICQ or e-mail
Sorry for answering that late....
>What topic do you have XBCT?<
I don´t have a topic so far and I have to make a proposition myself for the topic of my "Facharbeit"....
After reading your post I thougt it would be cool to do something about "Beziers" ´cause I already implemented them and therefore it wouldn´t be too much work.
>Hey, you wrote your own nick incorrectly!<
Ahrrrrg....I *DON`T* wrote my nick incorrectly! The problem is that I wrote it wrong as I created my account. I´m called XBTC everywhere else....
[This message has been edited by XBCT (edited 02-21-2001).]
Powered by vBulletin® Version 4.2.0 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.