在我的项目中,我有通过算法计算的 20.000 个点的高曲面。该算法有时会出现错误,错误地计算小区域中的 1 个或多个点。
这个错误在算法中是无法解决的,需要事后检测。
错误如下图所示:
如您所见,有一个点计算错误,不仅破坏了整个均匀表面,而且破坏了情节的美学(这在项目中也很重要。)
有时可能不止一个点,一般不超过5个或6个。误差总是Z轴,所以不需要检查X和Y
我一直在努力寻找一种“通用”算法来检测这个点。我认为可能会采用表面的补丁并表示 Z,然后从方差中检测点......但我认为它不会一直有效。
有任何想法吗?
注意:我不希望有人为我编写代码,只是一个想法。
PD:avobe图像的相关代码:
[x,y] = meshgrid([-2:.07:2]);
Z = x.*exp(-x.^2-y.^2);
subplot(1,2,1)
surf(x,y,Z,gradient(Z))
subplot(1,2,2)
Z(35,35)=Z(35,35)+0.3;
surf(x,y,Z,gradient(Z))