matlab中的delaunay,使用 Delaunay 三角剖分

使用 delaunayTriangulation 类

delaunayTriangulation 类提供另一种在 MATLAB 中创建 Delaunay 三角剖分的方法。虽然 delaunay 和 delaunayTriangulation 使用相同的基本算法并生成相同的三角剖分,但 delaunayTriangulation 提供了适用于开发基于 Delaunay 的算法的补充方法。这些方法与函数类似,可以将它们与三角剖分数据一起打包到称为类的容器中。将所有内容集中在类中,这样可以提供更加有条理的结构,从而提高易用性。它还可以提高基于三角剖分的搜索的性能,例如点位置和最近邻位置。delaunayTriangulation 支持对 Delaunay 三角剖分进行增量编辑。还可以实行二维中的边约束。

三角剖分表示法引入了 triangulation 类,该类支持对二维和三维三角剖分进行拓扑和几何查询。delaunayTriangulation 是一种特殊的 triangulation。这意味着除了可以对 delaunayTriangulation 执行 Delaunay 特定的查询外,还可以执行任何 triangulation 查询。在比较正式的 MATLAB 语言术语中,delaunayTriangulation 是 triangulation 的子类。

此示例说明如何使用 delaunayTriangulation 创建、查询和编辑 seamount 数据的 Delaunay 三角剖分。海底山数据集包含用于定义海拔山曲面的 (x, y) 位置和对应的海拔 (z)。

加载 (x, y) 数据并进行三角剖分。

load seamount

DT = delaunayTriangulation(x,y)

DT =

delaunayTriangulation with properties:

Points: [294x2 double]

ConnectivityList: [566x3 double]

Constraints: []

由于没有施加任何边约束,因此 Constraints 属性为空。Points 属性表示顶点坐标,ConnectivityList 属性表示三角形。这两个属性共同定义了三角剖分的矩阵数据。

delaunayTriangulation 类是矩阵数据的封装类,并且提供了一组补充方法。可以按照访问结构体字段的方式访问 delaunayTriangulation 中的属性。

访问顶点数据。

DT.Points;

访问连接数据。

DT.ConnectivityList;

访问 ConnectivityList 属性中的第一个三角形。

DT.ConnectivityList(1,:)

ans = 1×3

205 2

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值