Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB:用Delaunay从点云生成曲面_Matlab_Triangulation_Delaunay - Fatal编程技术网

MATLAB:用Delaunay从点云生成曲面

MATLAB:用Delaunay从点云生成曲面,matlab,triangulation,delaunay,Matlab,Triangulation,Delaunay,在MATLAB中,我加载以下点云: load tetmesh 这会将X和tet加载到工作区中。因此,我执行散点图,结果如下: scatter3(X(:,1), X(:,2), X(:,3)) 我还以以下方式调用了trisurf,它为我提供了: trisurf(tet, X(:,1), X(:,2), X(:,3)) 如果我不使用tet,并尝试使用Delaunay建立自己的连接列表: tri = delaunay(X(:,1), X(:,2), X(:,3)) trisurf(tri,

在MATLAB中,我加载以下点云:

load tetmesh
这会将
X
tet
加载到工作区中。因此,我执行散点图,结果如下:

scatter3(X(:,1), X(:,2), X(:,3))

我还以以下方式调用了
trisurf
,它为我提供了:

trisurf(tet, X(:,1), X(:,2), X(:,3))

如果我不使用
tet
,并尝试使用Delaunay建立自己的连接列表:

tri = delaunay(X(:,1), X(:,2), X(:,3))
trisurf(tri, X(:,1), X(:,2), X(:,3))
我明白了:

这与使用
tet
生成的图像并不接近。据我所知,生成的四面体也不符合Delaunay准则


我的问题是:是否有可能仅从
X
生成一个连接列表,如
tet

点集的Delaunay三角剖分保证按定义填充其凸包。因此,显示的输出与预期完全一致。此外,细分中的所有元素都将满足

给定一组点重构曲面的过程称为曲面重构。这样的问题通常不适定,对于给定的点集,通常可能进行各种非唯一重建。已经开发了许多启发式方法,在这方面,这样的包可能对您有用。

尝试:

load tetmesh
coeff = 1;
tri = triangulation(boundary(X, coeff), X);
trisurf(tri); colormap(jet);
coeff
的三个不同值如下所示:


比较
tet
tri
。连接列表中是否存在任何差异?它们之间的顺序是否不同?