Project 3D points to a surface
显示 更早的评论

I have fit a surface through a set of x,y,z points. Image attached. I would like to be able to project points that lie within some distance threshold to that surface. Could anyone advise on a method for doing this?
2 个评论
Sean de Wolski
2017-4-28
Is it the shortest euclidean distance to the surface of the distance to the surface at x, y for a specific point?
psprinks
2017-4-30
采纳的回答
更多回答(1 个)
Joseph Cheng
2017-4-28
you could try something like this. my curve and fit method is probably different however what you can do is use find() to determine which ones are within some distance/error from the fitted curve for that point.
close all;
load franke
f = fit( [x, y], z, 'poly23' )
plot(f, [x,y], z)
withintol = find(f(x,y)-z<0.01);
hold on
ax=gca;
plot3(x(withintol),y(withintol),ax.ZLim(1)*ones(size(withintol)),'.')
2 个评论
psprinks
2017-4-28
Joseph Cheng
2017-4-28
Oh, i was just too lazy to generate a dummy curve and points to franke was just quickly available. now that i think about it just in the Z direction may not be proper thresholding if we're considering xyz jittering points. hmmm....
类别
在 帮助中心 和 File Exchange 中查找有关 Spline Postprocessing 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



