Sign in to follow this  
Liam M

Minimum Curvature Algorithm: Need some Help Intepreting some Math

Recommended Posts

hey guys, I'm trying to implement a minimum curvature algorithm, for interpolating surfaces, as shown here:

http://idlastro.gsfc.nasa.gov/idl_html_help/MIN_CURVE_SURF.html

Now, looking at the equations shown, for 3 sample points, solving for b0, b1, b2, a0, a1, and a2, I end up with 3 equations to solve 6 unknowns, however the article says "n+3 simultaneous equations", and instead I have n equations. is there something I'm missing? If I had n + 3, then the algorithm would be over-defined, which would be great. Instead, it's under-defined, which is not so great.

So did I make a mistake, or god forbid, am I right? If I am right, could someone suggest a good algorithm for finding a solution to the algorithm? My math is very, very rusty.

Regards,

Liam

Edit: My variables were very, very wrong, silly mistake, but the question remains the same.

[Edited by - Liam M on October 2, 2010 12:26:50 AM]

Share this post


Link to post
Share on other sites
A bit of a followup, here's a spreadsheet I prepared while working out the algorithm, it explains what I was thinking a bit more:



Essentially, one equation per sample point, a c value for each distance, the distance from itself being zero. Not being square, I can't simply solve it by inverting the matrix, which would make life a lot easier. Any ideas, comments, corrections? The only way I can work this out is to have more unknowns than equations, and unfortunately, it's really hard to find any sort of documentation on this algorithm.

Thanks fellas.

Share this post


Link to post
Share on other sites
Quote:
Original post by Dave Eberly
This document shows the details for Thin Plate Splines. It is easy enough to modify for the other cases mentioned in your link. (And I have an implementation at my web site.)


Thanks for the link, I've just had a brief look, it looks like it may be what I'm looking for, I'll have a thorough look and see what I can do.

PS, 3D Game Engine Architecture, one of my go-to books for various topics, thanks for writing that one.

Share this post


Link to post
Share on other sites
The key is that the minimization of the binding energy integral has infinitely many solutions; that is, the linear term b0+b1*x+b2*y in f(x,y) is irrelevant when minimizing Integral(fxx^2+2*fxy^2+fyy^2), because the second derivatives of the linear term are zero. You have to supply more constraints, so the typical one is Transpose(B)*a = 0 (using the notation of my PDF).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this