【发布时间】:2019-10-29 05:25:07
【问题描述】:
我有两个不同维度的点云(XYZ 坐标),并希望能够计算它们之间的差异(结果为 XYZ 数组,Z 是它们之间的距离),然后将两者绘制为表面连同作为不同颜色的差异。
这个问题似乎很相关,但不是我想要的:Subtract two trisurf plots from one another
这里是一些示例数据和代码。我不知道如何将一个数据集插入另一个数据集。
%Point Cloud 1
X1 = randn(100,1);
Y1 = randn(100,1);
Z1 =(exp(-X1.^2-Y1.^2));
% Point Cloud 2
X2 = randn(107,1);
Y2 = randn(107,1);
Z2 = (exp(-X2.^2-Y2.^2));
tri1 = delaunay(X1, Y1);
tri2 = delaunay(X2, Y2);
trisurf(tri1, X1, Y1, Z1, 1)
hold on
trisurf(tri2, X2, Y2, Z2, 100)
hold off
我上面提到的问题指向这里:How Do I Generate a 3-D Surface From Isolines? 但我是在 Matlab 中插值 3d 数据的新手,似乎无法弄清楚。任何帮助,将不胜感激。谢谢。
【问题讨论】:
-
目标是什么,为什么需要它们之间的高度?在什么之间,delauny 会给你三角形,你可以在平面之间找到 hiehgt?但是飞机可能会重叠等?
-
@Ben 我的点云是在两个时间间隔拍摄的表面,我正在尝试可视化沉积物沉积和侵蚀的区域。
标签: matlab interpolation point-clouds