Why not use good old fashion interpolation to make curves?
This is a discussion on What's the purpose of Bezier Curves? within the Game Programming forums, part of the General Programming Boards category; Why not use good old fashion interpolation to make curves?...
Why not use good old fashion interpolation to make curves?
Bezier curves is good old-fashioned interpolation.
But the point of Bezier curves is that you can tack them together smoothly (since you are controlling the slope at the endpoints), rather than having L-shapes or V-shapes or similar abrupt, non-smooth transitions.
I don't understand. What is wrong with polynomial interpolation? Does that not tack together well enough?
Polynomial interpolation doesn't tack together at all.
Edit: Maybe I should be more specific -- the only things that will agree when you paste simple polynomial interpolation together is the value of the endpoints. Think "line graph" and you're there.
You can do a polynomial interpolation on all the points; but polynomial interpolation is n^2 on the number of points.
Bezier interpolation is bog-standard cubic interpolation, but instead of using four points, you use two points and two tangent values (since the tangent values agree when you paste them together, you get not only the same points, but the same direction too.
Last edited by tabstop; 10-05-2008 at 07:22 PM.
Some nice animations here: http://en.wikipedia.org/wiki/Bézier_curve
If you wanted to connect polynomial interpolation curves smoothly (no abrupt slope changes at the endpoints), you might have to use 4th order polynomial and then extract only the central section. Then move ahead one point and do it over. Even then the resultant line isn't quite smooth.
There is work in progress to have native support for bezier curves on GPUs and in the APIs. I'm not sure where that's going since I think a complete move away from triangles is really where we need to be. Intel claims they will have CPUs that can real time ray trace within 5 years.