【发布时间】:2014-08-08 05:01:24
【问题描述】:
我必须生成 3D 点云的网格。所以我使用delaunay 函数来执行点的三角测量。激光雷达数据是人头扫描的结果。
dt = delaunay(X,Y);
trisurf(dt,X,Y,Z);
当我将delaunay 与两个输入一起使用时,它给了我输出但并不完美。所以我使用了三个输入 (X,Y,Z)
dt = delaunay(X,Y,Z);
trisurf(dt,X,Y,Z);
但现在结果变得更糟了。不知道是什么问题?
这是我写的完整代码:
load Head_cloud_point.txt;
data = Head_cloud_point;
for i = 1 : 3
X = data(:, 1);
end
for i = 1 : 3
Y = data(:, 2);
end
for i = 1 : 3
Z = data(:, 3);
end
[m n] = size(X);
[o p] = size(Y);
[r s] = size(Z);
[XI,YI]= meshgrid(X(m,n),Y(o,p));
ZI = interp2(X,Y,Z,XI,YI);
% dt = delaunay(X,Y);
% trisurf(dt,X,Y,ZI);
Head_cloud_point 是具有 X,Y,Z 坐标的文件。我必须使用这些坐标生成网格。
【问题讨论】:
-
你能提供一些代码吗?可能导致问题的设置?一般来说,这里没有足够的细节。
-
加载 Head_cloud_point.txt;数据 = Head_cloud_point;对于 i = 1 : 3 X = data(:, 1);结束 i = 1 : 3 Y = data(:, 2);结束 i = 1 : 3 Z = data(:, 3);结束 [m n]= 大小(X); [o p]= 大小(Y); [r s]= 大小(Z); [XI,YI]=网格网格(X(m,n),Y(o,p)); ZI = interp2(X,Y,Z,XI,YI); % dt = delaunay(X,Y); %三冲浪(dt,X,Y,ZI);这是代码。 Head_cloud_point 是具有 X,Y,Z 坐标的文件。我必须使用这个坐标生成网格,所以我使用 delaunay 三角测量方法来接近它们。
标签: matlab plot delaunay lidar