min_curve_surf [message #54041] |
Thu, 17 May 2007 17:57 |
ianpaul.freeley
Messages: 18 Registered: March 2007
|
Junior Member |
|
|
I have an irregular model surface f(x,y) sampled at irregularly spaced
grid points, and I'd like to interpolate a few new points. The model
is not particularly well behaved everywhere, so I don't like the
results I'm getting from min_curve_surf since it uses all the model
points. I'm finding if I clip points far away from where I'm
interpolating the new points it can change my result significantly.
Some questions:
1) Why is there no difference when I try to use the tps keyword in
min_curve_surf?
the following:
n=15
x=randomu(seed,n)
y=randomu(seed,n)
xpout=findgen(11)/10.-.5
ypout=findgen(11)/10.-.5
z=exp(-2.*((x^2+y^2)))
r1=min_curve_surf(z,x,y,xpout=xpout,ypout=ypout,/double)
r2=min_curve_surf(z,x,y,xpout=xpout,ypout=ypout,/tps,/double )
print, r1-r2
results in:
0.0000000 0.0000000 0.0000000 0.0000000
0.0000000 0.0000000 0.0000000 0.0000000
0.0000000 0.0000000 0.0000000
I know the two should be similar, but it gives me the same result
regardless of what I do.
2) Is there any good way to get tri_surf to interpolate to irregular
points? Or even just a single specified x,y point?
3) Are there any other simple 3d interpolation routines out there I
should use? These built-in routines seem lame enough that I'm tempted
to just grab the 4 closest points and fit a plane.
Thanks for the help. It feels like someone must have solved this
problem before and I just can't find where they did it.
|
|
|