[SciPy-User] ND interpolation with Qhull

Wolfgang Kerzendorf wkerzendorf at googlemail.com
Mon Jun 6 06:40:10 EDT 2011


Dear all,

I'm interested in learning  how the LinearNDInterpolator actually works. 
So I read up on qhull, convex hulls and delauney triangulation:
I understand that one can use qhull to construct the convex hull in a 
d-dimensional space.
If I want the delauney triangulation of n points in d dimensions I just 
need to project these points on a paraboloid in d+1 dimensional space 
build the convex hull and reproject this onto d-dimensions.
So now that I have the triangles I just need to find the triangle 
containing the point to be interpolated. And that is where I'm a little 
bit unclear: How do I find the point?

I know that in the barycentric coordinate system I have three 
coefficents and if the sum of two of them is less than 1 to reproduce my 
point, then I found my triangle. But this requires me to go through all 
triangles. I'm sure there is a faster way (which is probably used by scipy).

Once I have the triangle I just determine the two coefficients (in two 
dimensions) and add the vectors up to get the interpolation?

Help is much appreciated
     Wolfgang



More information about the SciPy-User mailing list