approximating a surface with a spline

Started by
3 comments, last by xargon123 16 years, 3 months ago
Hi everyone, I have a problem that I have been thinking about for some time. I, of course, do not expect a solution from here but wondering if people have any ideas about papers or work that deals with it. So, basically what I want to do is represent a delienated surface with a spline. So, I have a collection of points that represent a closed polygon. What I would like to do is closely represent that polygon with a spline with as few control points as possible. So it is basically decimation of the points and still be able to represent the surface boundary accurately. I am working on an editor that lets you edit these surfaces and visualize and edit them in an uncluttered way. So, I was wondering if people know of some papers, books or existing work that has been done in this area. Many thanks. I look forward to hearing from you folks. Cheers, xarg
Advertisement
catmull rom splines maybe?
Hey Rob,

Thanks for the reply.

Yes, the class of spline is not important. The problem is basically that given a lot of points, how to generate a spline that passes through all of them, yet keep the number of control points as less as possible... I am not sure if I have stated the problem clearly enough...

Cheers,
xarg
You may be interested in the oscillation theorem. There are many variants, but the basic 'continuous real-valued function' version roughly says that the best order n L∞ polynomial approximation to a curve will be such that its error oscillates n-1 times between +E and -E, where E is the maximum error on the interval. It sounds like a mouthful, but it's fairly intuitive when you break the expression up and think about it.

This theorem directly leads to the exchange algorithm, which provides an iterative method of refining a spline-approximation by repositioning the abscissas. The theorem translates quite directly to approximation of surfaces, and I would be surprised if there is no way to adapt it to efficiently regress a surface with the node count as a parameter.

I also recommend you take a look at Numerical Recipes, as I recall it has a fairly strong section on this sort of business.
Ring3 Circus - Diary of a programmer, journal of a hacker.
Hi Admiral,

Thanks a lot for this. I will look into this soon!

Cheers,
xarg

This topic is closed to new replies.

Advertisement