Delaunator:Delaunay三角剖分的halfedges简单的理解

本文详细介绍了Delaunator工具如何通过点集生成三角形(trangles)并构建halfedges索引,展示了如何根据顶点顺序确定边及其方向,以及halfedges的计算方法,包括相邻三角形的查找和孪生半边的确定。
摘要由CSDN通过智能技术生成

这里写自定义目录标题

Delaunator工具

Delaunator三角剖分快速生成库的地址
https://www.5axxw.com/wiki/content/l0n637

trangles

trangles是构成三角形的点集合的索引
若当前有如下坐标(x,y)的点集

points=[[23,1],[4,1],[3,2],[8,2]]//四个点

生成的trangles的如下:

trangles=[1,2,3,3,0,1]

如图所示,其中[1,2,3]为第一个三角形,[3,0,1]为第二个三角形
在这里插入图片描述

按照顶点顺序可得出三角形的各自的三条边,按照顺序边也有了方向,这里按照trangles的索引顺序,各个半边分别为e12,e23,e31,e30,e01,e13,每一对半边都互为孪生半边,如e31和e13

halfedges

halfedges[i]是基于trangles顶点集进行计算,i为半边的索引,这里e12为第一条边索引为0,起始顶点为1。
halfedges[i]存储的是存在该半边相邻三角形的孪生半边的起始顶点索引,没有相邻的三角形则为-1
这里集合为:

halfedges=[-1,-1,5,-1,-1,2] 

其生成算法如下:

trangles=[1,2,3,3,0,1]//顶点索引为0,1,2,3,4,5

e12无相邻的三角形,则halfedges[0]=-1。
e23无相邻的三角形,则halfedges[1]=-1。
e31相邻三角形为[3,0,1],孪生半边为e13为[3,0,1]的边,起始顶点为1,在trangles中的索引索引为5,则halfedges[2]=5。
e30无相邻的三角形,则halfedges[3]=-1。
e01无相邻的三角形,则halfedges[4]=-1。
e13相邻三角形为[1,2,3],孪生半边为e31为[1,2,3]的边,起始顶点为3,在trangles中的索引索引为2,则halfedges[5]=2。
就此完成了halfedges

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值