在Matlab中的3D点之间填充凸面区域

时间:2019-10-25 12:19:43

标签: matlab

我在Matlab中收集了3D点

PY=0.5000         0    0.5000;
   0.5000    0.1250    0.3750;
   0.5000    0.2500    0.2500;
   0.5000    0.3750    0.1250;
   0.6250         0    0.3750;
   0.6250    0.1250    0.2500;
   0.6250    0.2500    0.1250;
   0.6250    0.3750         0;
   0.7500         0    0.2500;
   0.7500    0.1250    0.1250;
   0.7500    0.2500         0];

这些点是单元单纯形的一部分

close all
patch([0 0 1],[0 1 0],[1 0 0],[0.8 0.8 0.8]);
axis equal 
axis([0 1 0 1 0 1])
view(120,30)
 hold on
scatter3(PY(:,1), PY(:,2), PY(:,3))

问题:我想通过连接这些点来填充凸出的区域。我做不到你能帮忙吗?

这是我尝试过的

1) CHPY=convhull(PY(:,1),PY(:,2),PY(:,3) );

这给我带来了错误

Error computing the convex hull. The points may be coplanar or collinear.

2)

T = delaunayTriangulation(PY);
       K = convexHull(T);

这给我带来了错误

Error using delaunayTriangulation/convexHull
The triangulation is empty.

0 个答案:

没有答案