首页 理论教育 如何使用网格数组优化生成Delaunay三角网——以数据结构为例

如何使用网格数组优化生成Delaunay三角网——以数据结构为例

时间:2023-06-24 理论教育 版权反馈
【摘要】:为了提高生成Delaunay三角网的效率,使用网格数组dGrid对大区域的数据点分片管理。依据构成Delaunay三角网的点、线、面之间的关系,需要定义数据点结构体dVertex、边(线)结构体dEdge和三角形结构体dTriangle,来描述整个三角网的拓扑关系。另外,约束线在生成Delaunay三角网中属于特殊的集合,通过定义约束线结构体dCtrlline来存储。定义如下:2.数据点结构体dVertex数据点结构体dVertex存储数据点坐标,由点确定以该点为顶点的三角形号。

如何使用网格数组优化生成Delaunay三角网——以数据结构为例

由于水利水电工程各分项工程空间布置较分散,使得整个工程区域非常大,这就要求建立大范围的DTM模型,才能逼真描述整个工程形象。为了提高生成Delaunay三角网的效率,使用网格数组dGrid对大区域的数据点分片管理。依据构成Delaunay三角网的点、线、面之间的关系,需要定义数据点结构体dVertex、边(线)结构体dEdge和三角形结构体dTriangle,来描述整个三角网的拓扑关系。另外,约束线在生成Delaunay三角网中属于特殊的集合,通过定义约束线结构体dCtrlline来存储。

1.网格数组dGrid

网格数组dGrid对数据点分网格进行管理,当没有点落在网格内时,该网格为空;否则,指向落在其中的首点号(即:数据点在dVertex数组中的下标)。

设GridWidth为网格宽度,根据数据点dVertex(k)的坐标,由判断公式(4-2)判断出dVertex(k)所处的网格。

3.边(线)结构体dEdge

边(线)结构体dEdge存储三角边的信息,由边可以确定以共边的三角形号。定义如下:

2.数据点结构体dVertex

数据点结构体dVertex存储数据点坐标,由点确定以该点为顶点的三角形号。定义如下:

4.三角形结构体dTriangle

三角形结构体dTriangle存储组成三角形的点的信息,用于绘制或输出三角网,并可由三角形信息进行拓扑查询。定义如下:(www.xing528.com)

3.边(线)结构体dEdge

边(线)结构体dEdge存储三角边的信息,由边可以确定以共边的三角形号。定义如下:

4.三角形结构体dTriangle

三角形结构体dTriangle存储组成三角形的点的信息,用于绘制或输出三角网,并可由三角形信息进行拓扑查询。定义如下:

5.约束线结构体dCtrlline

约束线结构体dCtrlline存储用于程序需要预处理或者直接嵌入标准Delaunay三角网的约束线。定义如下:

5.约束线结构体dCtrlline

约束线结构体dCtrlline存储用于程序需要预处理或者直接嵌入标准Delaunay三角网的约束线。定义如下:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈