Matlab 理解convhull的输出

Matlab 理解convhull的输出,matlab,Matlab,有人能给我解释一下存储在kk中的值吗 A=[2 0 0; 0 2 0; 0 0 2; 1 1 sqrt(2)]; kk= convhull(A); kk中的值: 1 2 4 1 3 2 1 4 3 2 3 4 你读过的文件吗 它清楚地解释了(对于3D案例): K=convhull(X,Y,Z)返回点(X,Y,Z)的三维凸包,其中X,Y和Z是列向量。 K是表示凸包边界的三角剖分。K的大小为mtri-x-3,其中mtri是三角形面的数量。也

有人能给我解释一下存储在
kk
中的值吗

A=[2 0 0; 
   0 2 0; 
   0 0 2;
   1 1 sqrt(2)];

kk= convhull(A);
kk
中的值:

1   2   4
1   3   2
1   4   3
2   3   4

你读过的文件吗

它清楚地解释了(对于3D案例):

K=convhull(X,Y,Z
)返回点(X,Y,Z)的三维凸包,其中X,Y和Z是列向量。
K是表示凸包边界的三角剖分。K的大小为mtri-x-3,其中mtri是三角形面的数量。也就是说,K的每一行都是一个三角形,用点索引定义

在您的示例中,
A
中4个点的凸包由四个三角形面定义

[1 2 4] --> [ (2,0,0), (0,2,0), (1,1,sqrt(2)) ] %// first triangle
[1 3 2] --> [ (2,0,0), (0,0,2), (0,2,0) ] %// second triangle
...

谢谢1 2 4]-->[(2,0,0),(0,2,0),(1,1,sqrt(2))]%//第一个三角形[1 3 2]-->[(2,0,0),(0,0,2),(0,2,0)]%//第二个三角形。。。。。。。。。。。。。这是我在文档中无法理解的,如何从3d凸面外壳中获取单个顶点。据我所知,matlab的凸包即convhull(X,Y,Z)输出一个三角形索引矩阵。我想要的是X顶点,Y顶点,Z顶点,它们实际上有助于凸包。有没有一种方法可以做到这一点,或者我应该遍历每个三角形索引,然后获取相应的输入矩阵行?@RusheelJain我想了解你的问题:假设你有一个
a
,在3D中有
n
个点(
n
-by-3大小的
a
)您想知道
n
的哪些点实际上位于凸包的边界上,哪些点位于凸包的内部?我能够得到我在之前的评论中提出的问题的答案。事实上,是的,我想知道您在之前的评论中到底提到了什么。我唯一的疑问是,既然convexhull()给出了三角形索引,那么我们怎么能找到实际的顶点索引呢?但很容易,我只是运行unique()来获得唯一索引,现在我们有了每一行的唯一索引,这些索引构成了边界点(凸包)因此,我们可以得到这些值,但感谢您解释“kk”的值