30.1 Delaunay三角函数

Delaunay三角函数是从一组循环圆构成的。选择这些圆是为了在圆的圆周上至少有三个点要进行三角函数。点集中没有一个点落在任何一个圆内。

一般来说,一个圆的圆周上只有三个点。然而,在某些情况下,特别是对于规则网格的情况,4个或多个点可以在一个圆上。在这种情况下,Delaunay三角函数并不是唯一的。

 
: tri = delaunay (x, y)
: tetr = delaunay (x, y, z)
: tri = delaunay (x)
: tri = delaunay (…, options)

计算二维或三维点集的Delaunay三角函数。

对于二维集,返回值tri是一组满足Delaunay圆标准的三角形,即没有来自[x, y]在定义三角形的圆周内。三角形的集合tri是大小为[n,3]的矩阵。每一行定义一个三角形,三列是三角形的三个顶点。的值tri(i,j)是的索引xy用于第i个三角形的第j个顶点的位置。

对于三维集,返回值tetr是一组四面体,它满足Delaunay圆标准,即没有来自的数据点[x, y, z]在定义四面体的圆周内。四面体的集合是一个大小为[n,4]的矩阵。每行定义一个四面体,四列是四面体的四个顶点。的值tetr(i,j)是的索引x,y, z对于第i个四面体的第j个顶点的位置。

输入x也可以是具有两列或三列的矩阵,其中第一列包含x数据,第二列包含y数据,并且可选的第三列包含z数据。

可选的最终参数必须是字符串或字符串的元胞数组,其中包含传递给基础qhull命令的参数。有关详细信息,详见Qhull库的文档http://www.qhull.org/html/qh-quick.htm#options。默认参数为{“Qt”、“Qbb”和“Qc”}如果二维输入的Qhull失败,则使用参数再次尝试三角函数{“Qt”、“Qbb”、“Q.c”、“Q-z”}这可能导致精度下降。

如果param不存在或[]则使用默认参数。否则param替换默认参数列表。要将用户参数附加到默认值,有必要重复中的默认参数param。使用空字符串不传递任何参数。

x=兰特(1,10);y=兰特(1,10);tri=delaunay(x,y);三倍体(tri,x,y);等等绘图(x,y,“r*”);轴([0,1,0,1]);

详见: delaunayn, 凸壳函数, 泰森多边形, 三倍体, 三聚物, 四聚物, 三曲面.

对于三维输入delaunay返回一组满足Delaunay圆标准的四面体。类似地,delaunayn返回满足Delaunay圆标准的N维单纯形。三角函数的N维扩展称为镶嵌。

 
: T = delaunayn (pts)
: T = delaunayn (pts, options)

计算N维点集的Delaunay三角剖分。

Delaunay三角剖分是一组点的凸包的镶嵌,这样从N个三角形定义的N球体就不包含该集中的任何其他点。

输入矩阵pts尺寸为[n,dim]的空间在尺寸为dim的空间中包含n个点。返回矩阵T大小为[m,dim+1]。每行T包含一组返回到原始点集中的索引pts其描述维度dim的单纯形。例如,2-Dsimplex是三角形,3-D单纯形是四面体。

可选的第二个参数必须是字符串或字符串的元胞数组,其中包含传递给基础qhull命令的参数。有关详细信息,详见Qhull库的文档http://www.qhull.org/html/qh-quick.htm#options。默认参数取决于输入的尺寸:

  • 二维和三维:param= {“Qt”、“Qbb”和“Qc”}
  • 4-D及更高版本:param= {“Qt”、“Qbb”、“Q.c”、“Q-x”}

如果二维输入的Qhull失败,则使用参数再次尝试三角函数{“Qt”、“Qbb”、“Q.c”、“Q-z”}这可能导致精度下降。

如果param不存在或[]则使用默认参数。否则param替换默认参数列表。要将用户参数附加到默认值,有必要重复中的默认参数param。使用空字符串不传递任何参数。

详见: delaunay, 对流, 伏罗宁, 三聚物, 四聚物.

一组点的Delaunay三角函数的一个例子是

兰特(“国家”,1);x=兰特(1,10);y=兰特(1,10);T=delaunay(x,y);X=[X(T(:,1));X(T;Y=[Y(T(:,1));Y(T;轴([0,1,0,1]);绘图(X,Y,“b”,X,Y,“r*”);

其结果可以在中看到图30.1.

delaunay

图30.1:随机点集的Delaunay三角剖分


版权所有 © 2024 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号