主要内容

delaunayTriangulation

德劳内三角剖分在2 d和3 d

描述

使用delaunayTriangulation对象创建一个2 d或3 d德劳内三角从一个点集。对于二维数据,您还可以指定边缘约束。

您可以执行各种拓扑和几何上查询delaunayTriangulation,包括任何三角测量查询。例如,定位方面,包含一个特定点,找到凸壳顶点,或计算泰森多边形法图。

创建

创建一个delaunayTriangulation对象,使用delaunayTriangulation函数输入参数定义三角的点和约束边缘。

描述

例子

DT = delaunayTriangulation (P)创建一个德劳内三角点P。矩阵P有2或3列,这取决于你在二维或三维空间点。

DT = delaunayTriangulation (P,C)指定的边缘约束矩阵C二维点P。每一行的C定义的开始和结束点id约束边缘。顶点IDs中相应的行数是顶点属性DT.Points

DT = delaunayTriangulation (x,y)创建一个二维德劳内三角点坐标的列向量xy

DT = delaunayTriangulation (x,y,C)指定了边缘约束矩阵C

例子

DT = delaunayTriangulation (x,y,z)创建一个三维德劳内三角点坐标的列向量x,y,z

DT = delaunayTriangulation ()创建一个空的德劳内三角测量。

输入参数

全部展开

点,指定为一个矩阵的列x坐标,y坐标和(可能)z三角点的坐标。的行数P在三角顶点id。

x三角点的坐标,指定为一个列向量。

y三角点的坐标,指定为一个列向量。

z三角点的坐标,指定为一个列向量。

约束边的顶点id、指定为一个第二列矩阵。每一行的C对应于一个约束边缘和包含两个id:

  • C (j, 1)是顶点的ID的优势。

  • C (j, 2)顶点的ID在边缘。

您可以指定边缘约束仅供二维剖分。

属性

全部展开

三角点,表示为一个矩阵具有以下特点:

  • 在每一行DT.Points包含一个顶点的坐标。

  • 每一行的数量DT.Points是一个顶点ID。

三角连接列表,表示为一个矩阵具有以下特点:

  • 中的每个元素DT.ConnectivityList是一个顶点ID。

  • 每一行代表一个三角形或四面体的三角测量。

  • 每一行的数量DT.ConnectivityList一个三角形或四面体ID。

约束边缘,表示为第二列矩阵的顶点id。每一行的DT.Constraints对应于一个约束边缘和包含两个id:

  • DT.Constraints (j, 1)是顶点的ID的优势。

  • DT.Constraints (j, 2)顶点的ID在边缘。

DT.Constraints是一个空矩阵三角测量时没有约束边缘。

对象的功能

convexHull 德劳内三角的凸包
isInterior 查询点内德劳内三角测量
voronoiDiagram 德劳内三角的泰森多边形法图
barycentricToCartesian 从质心坐标转换为笛卡儿
cartesianToBarycentric 从笛卡尔坐标转换为重心
外心 外心的三角形或四面体
edgeAttachments 三角形或四面体附加到指定的边缘
边缘 三角边
faceNormal 三角测量单位法向量
featureEdges 锋利的边缘表面三角
freeBoundary 自由边界面
内心 内心的三角元素
与一 测试两个顶点相连的边缘
nearestNeighbor 顶点离指定点
邻居 三角形或四面体的邻居
pointLocation 三角形或四面体封闭点
大小 三角连接列表的大小
vertexAttachments 三角形或四面体的顶点
vertexNormal 三角顶点正常

例子

全部折叠

创建一个二维delaunayTriangulation对象为30随机点。

rng默认的;P =兰德(30 [2]);DT = delaunayTriangulation (P)
DT = delaunayTriangulation属性:分:[30 x2双]ConnectivityList: [48 x3双]约束:[]

计算每个三角形的中心点,情节点的三角中心。

IC =内心(DT);triplot (DT)情节(IC (: 1), IC (:, 2),“* r”)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。一个或多个行显示的值只使用标记

创建一个三维delaunayTriangulation对象为30随机点。

rng默认的;30 x =兰德([1]);y =兰德(30 [1]);z =兰德(30 [1]);DT = delaunayTriangulation (x, y, z)
DT = delaunayTriangulation属性:分:[30 x3双]ConnectivityList: [102 x4双重约束:[]

画出三角。

tetramesh (DT,“FaceAlpha”,0.3);

图包含一个坐标轴对象。坐标轴对象包含102个对象类型的补丁。

计算凸壳和情节的三角测量。

[K、v] = convexHull (DT);trisurf (K, DT.Points (: 1), DT.Points (:, 2), DT.Points (:, 3))

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的补丁。

更多关于

全部展开

提示

  • delaunayTriangulation可以产生不正确或不一致的结果,当边界约束交叉或重叠。为了避免这种行为,使用约束,形成一个或多个封闭边界,不要交叉或重叠。

扩展功能

版本历史

介绍了R2013a