不规则三角网

不规则三角网
不规则三角网

不规则三角网的构建

曹宁0211555

摘要:在GIS应用领域中,Delaunay三角网通常被应用在生成不规则三角网(TIN)模型,并用于描述地表形态。本篇文章就目前较为成熟的算法做简要介绍,并对用于构建Delaunay三角网的渐次插入算法(闫浩文,2002)在VC++环境下实现的过程做较为详细的介绍。

关键词:不规则三角网;VC++;渐次插入算法

Abstract:In GIS applications, the Delaunay triangulation Netcom often used to generate atriangulated irregular network (TIN) model, and is used to describe the surface morphology. This article is a brief introduction to the more sophisticated algorithms,and detailed introduce the implementation process of gradually insert of the Delaunay triangulation algorithm (Yan Hao, 2002) in VC + + environment.

Keywords:TIN;VC++; gradually insert algorithm

一、引言

TIN(Triangulated Irregular Network)即不规则三角网,Delaunay三角网是其中的一种表现形式,也是一种主要的DTM的表示法。

Delaunay三角网:它是一系列相连的但不重叠的三角形的集合,而且这些三角形的外接圆不包含这个面域的其他任何点,它具有两个特有的性质:每个Delaunay三角形的外接圆不包含面内的其他任何点,称之为Delaunay三角网的空外接圆性质,这个特性已经作为创建Delaunay三角网的一项判别标准。

它的另一个性质是最大最小角性质:在由点集V中所能形成的三角网中,Delaunay三角网中的三角形的最小角度是最大的。

Delaunay三角网的优点是结构良好,数据结构简单,数据冗余度小,存储效率高,与不规则的地面特征和谐一致,可以表示线性特征和迭加任意形状的区域边界,易于更新,可适应各种分布密度的数据等;局限性是。算法实现比较复杂和困难。

Delaunay三角网是V oronoi图的对偶图,他们两个是被普遍接受和采用的分析研究区域离散数据的有力工具。它是通过连接具有公共顶点的三个V多边形的生长中心而生成的。如图1.1。

图1.1 Delaunay三角网与V oronoi图

二、几种常见的算法

2.1 凸包插值算法

(1)凸包生成。①求出点集中满足min(x-y)、min(x+y)、max(x-y)、max (x+y)的四个点,并按照逆时针方向组成一个链表。这四个点是离散点中与包含离散点的外接矩形的四个角点最接近的点,这四个点构成的多边形作为初始凸包。

②对于每个凸包上的点I,设它的后续点为J,计算矢量线段IJ右侧的所有点到IJ的距离,求出距离最大的点K。

③将K插入I、J之间,并将K赋给J。

④重复②、③步,直到点集中没有在线段IJ右侧的点为止。

⑤将J赋给I,J取其后续点,重复②、③、④步。

⑥当凸包中任意相邻两点连线的右侧不存在离散点时,结束点集凸包求取过程。

完成这一步后,形成了包含所有离散点的多边形(凸包)。

(2)环切边界法凸包三角剖分。在凸包链表中每次寻找一个由相邻两条凸包边组成的三角形,在该三角形的内部和边界上都不包含凸包上的任何其他点。将这个点去掉后得到新的凸包链表。重复这个过程,直到凸包链表中只剩下三个离散点为止。将凸包链表中的最后三个离散点构成一个三角形,结束凸包三角剖分过程。

完成这一步后,将凸包中的点构成了若干Delaunay三角形。

(3)离散点内插。在对凸包进行三角剖分之后,不在凸包上的其余离散点,可采用逐点内插的方法进行剖分。其基本过程为:

①找出外接圆包含待插入点的所有三角形,构成插入区域。

②删除插入区域内的三角形公共边,形成由三角形顶点构成的多边形。

③将插入点与多边形所有顶点相连,构成新的Delaunay三角形。

④重复①、②、③,直到所有非凸壳离散点都插入为止。

完成这一步,就完成了Delaunay三角网的构建。

2.2 渐次插入算法

(1)定义包含所有数据点的超三角形,初始三角形集合中只有超三角形;

(2)插入一点P到三角网中,找出P所在的三角形t;

(3)连接P与t的三个顶点,形成三个三角形;

(4)利用LOP法则更新生成的三角形;

(5)重复(2)到(4),直到所有的点插入结束;

(6)删除包含超三角形顶点的三角形。

此算法构建三角网结束结束。

对于算法中提到的LOP法则是指:最小角最大准则,即相邻两个Delaunay三角形构成凸四边形,在交换凸四边形的对角线之后,六个内角的最小者不再增大。

除上面描述的两种算法之外之外,构建Delaunay三角网还有其他很多算法,在此做简要说明。

分割归并法。Lee和Schachter较早提出了平面点集数据的Delaunay三角网的生成算法。其主要思想是把点集划分成两个相互独立的子集,然后分别生成一个子集的Delaunay三角网,最后将这两个子集合并。如果在由约束条件的情况下,Dywer 又把初始点集划分成垂直于X轴的窄带(多个而不是两个),而且这些窄带还将进一步被那些约束条件划分成更小的区域,然后分别将其生成Delaunay三角网,再采用Lawson的局部优化算法优化各个三角网,最后合并。

基础三角网增长法。Brassel和Reif1979年提出了该算法的主要思想。其思路是先找出点集中相距最短的两点连接成为一条Delaunay边,然后按Delaunay边三角网的判别法则找出包含此边的Delaunay三角形的另一端点。依次处理所有新生成的边,直至最终完成。

三、渐次插入算法的编程实现

3.1 结构设计:

(1)点数据结构:

class Dot

{

float x;//存放点的x坐标

float y;//存放点的y坐标

}

(2)三角形数据结构:

Class Triangle

{

int point_num2;

int point_num3;

int triangle1;//三角形的三个邻接三角形序号

int triangle2;

int triangle3;

}

3.2 流程设计:

该算法在第二部分已经做了详细的介绍,这里给出算法实现的流程图,如图3.1。

其步骤就是:

(1)生成点集,在程序中点集存放在动态数组m_DotArray中;

(2)生成超级三角形,在程序中是调用函数SuperTriangle();

(3)插入第一点,对应的函数是FirstDot();

(4)插入后续点,调用的函数是InsertDot(int i);

(5)每个后续点插入后做LOP法则,调用的函数是lop(int i,int m);

(6)重复(4)、(5),直到所有点插入完,算法结束。

图3.1 算法流程图

3.3 程序运行过程

在上一节中已经将程序的流程做了详细的说明,这里不再赘述结果的生成过

程,程序的运行过程如图

图3.2 程序运行图

四、小结

本篇文章主要就Delaunay 三角网的一些现状问题作了简要介绍,另外对一些比较常见、认可的算法作了一些描述,其中主要介绍的算法是凸包插值算法、渐次插入算法,另外程序采用的是渐次插入算法。程序实现了不规则三角网的构建,但同时还存在不一定的问题,例如,程序没有考虑插入点在三角形边上或离的比较近的情况,另外对于LOP 法则的运用程序也存在这大量的计算冗余。望老师批评指正。

不规则三角网的算法设计与实现10页word文档

1 引言 地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法用平面地图来确切表示。于是我们就利用一种全新的数字地球表面的方法——数字高程模型的方法,这种方法已经被普遍广泛采用。数字高程模型即DEM (Digital Elevation Model),是以数字形式按一定结构组织在一起,表示实际地形特征空间分布的模型,也是地形形状大小和起伏的数字描述。 由于地理信息系统的普及,DEM作为数字地形模拟的重要成果已经成为国家空间数据基础设施(NSDI)的基本内容之一,并被纳入数字化空间框架(DGDF)进行规模化生产,已经成为独立的标准基础产品[5]。DEM有三种主要的表示模型:规则格网模型,等高线模型和不规则三角网。格网(即GRID)DEM在地形平坦的地方,存在大量的数据冗余,在不改变格网大小情况下,难以表达复杂地形的突变现象,在某些计算,如通视问题,过分强调网格的轴方向。不规则三角网(简称TIN,即Triangulated Irregular Network)是另外一种表示数字高程模型的的方法(Peuker等,1978),它既减少了规则格网带来的数据冗余,同时在计算(如坡度)效率方面又优于纯粹基于等高线的方法。不规则三角网能随地形起伏变化的复杂性而改变采样点的密度和决定采样点的位置,因而它能够避免地形起伏平坦时的数据冗余,又能按地形特征点如山脊,山谷线,地形变化线等表示数字高程特征。

基于三角形的表面建模可适合所有的数据结构,且三角形在形状和大小方面有很大灵活性,能很容易地融合断裂线,生成线或其他任何数据,因此基于三角形的方法在地形表面建模中得到了越来越多的注意,已经成为表面建模的主要方法之一。VB语言简洁易学,对于学习GIS的学生来说无疑是接受很容易而且较快的一门计算机编程和开发语言,也是大多数学生最熟悉和了解的语言。正是基于对生成不规则三角网算法的研究和满足学GIS的学生对VB语言的喜爱和熟悉的情况下,本文就主要介绍用三角网生长算法生成不规则三角网及其在VB6.0环境下的实现。 2 TIN的算法种类及各算法特点 在介绍构成TIN各种算法之前我们要来了解认识一下一个重要法则——Delaunay三角网法则。通常构建三角网并不考虑地性线(山脊线,山谷线)的骨架作用,但是,由于用等高线数据构建三角网时,由于地形的复杂多样,有的地区存在因地形突变而形成的断裂线等特殊地貌。另外一些地区存在大面积水域等内部不需要构网的区域,因此,在精度要求较高的TIN中,必须考虑以上问题。因此此时应顾及地性线,断裂线,水域线等特殊情况,也就是应构建约束—Delaunay三角网。约束法是基于约束图计算约束D—三角剖分[1,9](简称CDT,即Constrained Delaunay Triangulation)构造算法[8],这种Delaunay三角网满足这样的法则:Delaunay三角网为相互邻接且互不重叠的三角形的集合,每一个三角形的外接圆内不包含其他点。Delaunay三角网由对应Voronoi多边形的点连接而成。Delaunay三角形有三个相邻点连接而成,这三个相邻顶点对应的

不规则三角网(TIN)

不规则三角网(TIN) Ⅰ 数字高程模型(DEM)地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法用平面地图来确切表示。于是我们就利用一种全新的数字地球表面的方法——数字高程模型的方法,这种方法已被普遍广泛采用。数字 高程模型即DEM(Digital Elevation Model),是以数字形式按一定结构组织在一起,表示实际地形特征空间分布的模型,也是地形形状大小和起伏的数字描述。DEM有三 种主要的表示模型:规则格网模型,等高线模型和不规则三角网。格网(即GRID)DEM在地形平坦的地方,存在大量的数据冗余,在不改变格网大小情况下,难以表达复杂地形的突变现象,在某些计算,如通视问题,过分强调网格的轴方向。不规则三角网(简称TIN,即Triangulated Irregular Network)是另外一种表示数字高程模型的的方法(Peuker等,1978),它既减少了规则格网带来的数据冗余,同时在计算(如坡度)效率方面又优于纯粹基于等高线的方法。不规则三角网能随地形起伏变化的复杂性而改变采样点的密度和决定采样点的位置,因而它能够避免地形起伏平坦时的数据冗余,又能按地形特征点如山脊,山谷线,地形变化线等表示数字高程特征。Ⅱ TIN的基本知识在TIN中,满足最佳三角形的条件为:尽可能的保证三角形的

三个角都是锐角,三角形的三条边近似相等,最小角最大化。 TIN 是基于矢量的数字地理数据的一种形式,通过将一系列折点(点)组成三角形来构建。形成这些三角形的插值方法有很多种,例如Delaunay 三角测量法或距离排序法。ArcGIS 支持Delaunay 三角测量方法。 TIN 的单位是英尺或米等长度单位,而不是度分秒。当使用地理坐标系的角度坐标进行构建时,Delaunay 三角 测量无效。创建TIN 时,应使用投影坐标系(PCS)。 TIN 模型的适用范围不及栅格表面模型那么广泛,且构建和处理所需的开销更大。获得优良源数据的成本可能会很高,并且,由于数据结构非常复杂,处理TIN 的效率 要比处理栅格数据低。 TIN 通常用于较小区域的高精度建模(如在工程应用中),此时TIN 非常有用,因为它们允许计算平面面积、表面积和体积。Ⅲ TIN在ArcGIS中的存储TIN 表面数据模型由结点(Node)、边(Edge)、三角形(Triangle)、包面(Hull)和拓扑(Topology)组成。 与coverage 类似,TIN 以文件目录形式存储。但TIN没有关联的INFO 文件。TIN 目录由七个包含TIN 表面信息的文件组成。这些文件以二进制格式编码,因此无法通过标准文本显示或编辑程序读取。 TIN 的最大允许大小视连续可用内存资源而定。对

第三章 不规则三角网

第三章不规则三角网 教学目的与要求 通过本章的学习,让大家了解ArcView GIS 3D Analyst扩展模块,熟悉不规则三角网的生成方法,掌握工程填挖方的计算方法,掌握从3D Shapefile生成三维纵剖面和根据线状图形生成纵剖面的方法,能够进行视线与视域分析。 内容提要 5.1地表模型生成、显示 5.2工程中的土方、纵坡 5.3视线与视域分析 教学重点 工程土方量的计算方法 视域与视线分析方法 三维纵剖面图的创建方法 教学难点 不规则三角网的生成方法 5.1 地表模型生成、显示 一、由点状要素产生不规则三角网 所需数据: 点状专题 所用扩展模块: 3D Analyst 所用命令: Surface/Create TIN (Triangulated Irregular Network) from Features... 属性数据表中必须添加高程字段。 详见演示 等高线专题图的生成: 选用菜单命令Surface/Create Contours… 二、不规则三角网和距离倒数权重法插值比较 所需数据: 点状专题 所用扩展模块: Spatial Analyst 所用命令: Surface/Interpolate Grid... 属性数据表中必须添加高程字段,用于高程的计算。

详见演示 等高线专题图的生成: 选用菜单命令Surface/Create Contours… 通过比较,可知不规则三角网比较符合地形特征。 三、建立设计场地的三角网高程模型 所需数据: 设计场地高程控制点专题,并具有各个点的高程属性。 所用扩展模块: 3D Analyst 所用命令: Surface/Create TIN (Triangulated Irregular Network) from Features... 详见演示 四、在场地上添加其他要素 已知数据: 三个AutoCAD的立体图形文件。 Bldg.dwg 选polygon,多边形,建筑物 Road.dwg 选line,线,道路 Water.dwg 选polygon,多边形,水面 所用扩展模块: Cad Reader 所用命令: View/Add Theme 详见演示 五、三维显示 命令:View/3D Scene…,对系统的提示选择Themes,按OK键后系统产生3D Scenes Themes Document,该子系统具有自己的三维视图窗口和图例框,可用鼠标点击按钮Navigate(形状像帆船),再用鼠标在三维窗口中控制观察地形的三维视角。 在三维场景中,选用菜单命令Theme/3D Properties… 详见演示 小结 不规则三角网络是描述三维表面的常用方法,除了在地形方面,还可以用于其他各种领域。在不规则三角网上还可以叠加其它空间要素,同时以三维方式显示。 5.2 工程中的土方、纵坡 一、由等高线产生不规则三角网 使用数据:设计等高线、现状等高线、场地边界线 扩展模块:3D Analyst 所用命令:Surface/Create TIN from Features 操作步骤:

联系测量方案

第一章联系测量 第一节联系测量的定义 一、联系测量的定义 将地面坐标系统和高程系统传递到地下,确定地下控制点、控制边,作为地下控制导线的起算数据,这一过程测量工作叫做联系测量。将地面平面坐标系统传递到地下的测量称为平面联系测量,简称定向。将地面高程系统传递到地下的测量称高程联系测量,简称导入高程[1]。联系测量工作应包括地面趋近导线测量趋近水准测量、通过竖井斜井通道的定向测量和传递高程测量以及地下趋近导线测量地下趋近水准测量[2]。 二、联系测量的任务 联系测量的任务在于: (1)、确定地下经纬仪导线起算边的坐标方位角; (2)、确定地下经纬仪导线起算点的平面坐标x和y; (3)、确定地下水准点的高程H[1]。 前两项任务是通过平面联系测量定向来完成的;第三个任务是通过导入高程来完成的。这样就获得了地下平面与高程测量的起算数据[1]。 第二节联系测量的种类 联系测量分为平面联系测量(简称为定向)和高程联系测量(简称为导入高程)。平面联系测量说来可分为两大类:一类是从几何原理出发的几何定向;另一类是以物理特性为基础的物理定向[1]。 几何定向分为: 1、通过平硐或斜井的几何定向; 2、通过一个立井的几何定向(一井定向); 3、通过两个立井的几何定向(两井定向)[1]。 物理定向可分为: 1、用精密磁性仪器定向; 2、用投向仪(投点仪)定向; 3、用陀螺经纬仪定向[1]。 通过平硐或斜井的几何定向,只需要通过平硐或斜井敷设经纬仪导线,对地面和地下进行联测即可[1]。但是在地铁工程中由于地下铁道本身的特点,并没有平硐或斜井,有的只是竖井(出土井或下灰井或是更宽敞的明挖车站),因此,通过平硐或斜井的几何定向在地铁的平面联系测量中一般不用,只在矿山测量中有应用。在地铁平面联系测量中的导线直接传递法、竖直导线定向法的原理和通过平硐或斜井几何定向的原理是一样的[1]。 第三节几何定向 这里主要讲的是立井几何定向。在立井中悬挂钢丝垂线由地面向地下传递平

联系三角计算方法

联系三角形法 联系三角形法是一种传统的竖井联系测量方法 2.1 仪器设备 TC1800全站仪;10kg重锤2个;Φ0.5mm高强钢丝60m;小绞车、导向滑轮及经过比长的钢卷尺等。 2.2 作业实施 (1)导线布设 导线布设情况如图3。垂线1、垂线2是通过竖井绞车及导向滑轮悬挂并吊有垂锤的高强钢丝。Z、A为已知的地面导线点,B、G为待求的井下导线点,井下、井上三角形布设时应满足下列要求: ①垂线边距a、a′应尽量布置长些; ②e、f、e′、f′角度应尽量小,最大不应大于2°; ③b/a、b′/a′'之比值应尽量小,最大值不应大于1 5。 (2)三角形测量 ①测e、f、e′、f′角度; ②量a、b、c、a′、b′、c′边长。 (3)三角形平差计算 根据a、b、c、f求j:sinj=bsinf/a c的计算值:c算=bcosf+asinj c的不符值:h=c算-c a边改正值:Δa=-h/4 b边改正值:Δb=-h/4 c边改正值:Δc=h/2 以改正后的边长a、b、c为平差值,按正弦定理计算出i、j,即为平差后的角值。f改正很小,仍采用原测角值。 采用上述方法可计算出井下三角形平差后的边角a′、b′、c′、i′、j′。f′改正很小,仍采用原测角值。 (4)坐标和方位传递计算 已知A点坐标为XA、YA,AZ方位角为Z0。根据平差后的三角形边角进行计算。 ①BG方位角Z0′ AF方位角Z1=Z0+e

FE方位角Z2=Z1+180+j E′B方位角Z3=Z2+180-j′ 求算边BG方位角Z0′=Z3+180+e′ ②B点坐标 XB=XA+ccosZ1+acosZ2+c′cosZ3 YB=YA+csinZ1+asinZ2+c′sinZ3 (5)重复观测 进行联系三角形测量时,为保证精度,要重复观测数组。每组只将两垂线位置稍加移动,测量方法完全相同。由各组推算井下同一导线点之坐标和同一导线边之坐标方位角。各组数值互差满足限差规定时,取各组的平均值作为该次测量的最后成果。

基于不规则三角网的DTM若干问题的探讨

第23卷 第2期重 庆 交 通 学 院 学 报2004年4月Vo1 23No 2JOURNAL OF C HONGQI NG JIAOTONG UNIVE RSI TY Apr.,2004 基于不规则三角网的DTM若干问题的探讨 赖鸿斌, 李永树 (西南交通大学测量工程系,四川成都610031) 摘要:介绍了用不规则三角网(TIN)建立数字地面模型(DTM)的基本思路,讨论了在建模过程中所遇到问题的解决方法,分析了混合模型的应用问题及TIN数据结构.最后,运用实例说明了由TIN生成的DTM在工程中的应用方法. 关 键 词:不规则三角网;数字地面模型;数据结构 中图分类号:U412 24 文献标识码:A 文章编号:1001 716X(2004)02 0090 04 数字地形模型(Digital Terrain Mode,简称D TM)是表示地形表面的数学(数字)模型.从数学的观点看,地面模型是一个空间连续函数,或是地形模型的离散化表示.对地形表面进行表达的各种处理可称为表面重建或表面建模,重建的表面通常被认为是DTM表面[1]. DTM的核心是地面特征点的三维坐标数据和一套对地表提供连续描述的算法,最基本的DTM至少包含了相关区域内平面坐标(X,Y)与高程Z之间的映射关系,即 Z=F(X,Y) (X,Y) DTM所在区域[2]. 目前,DTM模型的建立和利用已成为地理信息系统的重要组成部分. 1 基于不规则三角网建立DTM 地形表面的建模主要有4种方法:基于点的建模方法、基于不规则三角形的建模方法、基于规则格网的建模方法和混合建模方法[1],其中用得较多的是基于不规则三角形的建模方法和基于规则格网的建模方法. 基于不规则三角形建模是直接利用野外实测的地形特征点(离散点)构造出邻接的三角形,从而组成不规则三角网结构.相对于规则格网,不规则三角网具有以下优点:利用原始资料作为网格结点;不改变原始数据和精度;能够插入地性线以保存原有关键的地形特征,以及能很好地适应复杂、不规则地形等. 不规则三角网(TI N)作为一种主要的DTM表示法,虽然其生成算法比较复杂,但却有许多优点.根据生成三角网算法的不同,可以将生成三角网的算法分为以下三种:分而治之算法、数据点逐次插入算法和三角网生长算法[1].分而治之算法的思想以及生成V 图的分治算法最先是由Shamos和Hoey提出的.Le wis和Robinson将分而治之算法思想应用于生成三角网并给出了一个简化算法:即递归地分割点集,直至子集中只包含三个点而形成三角形,然后自上而下地逐级合并生成最终的三角网;数据点逐次插入算法的思想是由Lawson提出的,以后,Lee和Schachter、Sloan、Watson、Pareschi和Macedonio、Puppo 和Floriani等人先后对这一算法做进一步的改进和完善;三角网生长算法是由Green和Sibson在1978年首先给出的.后来,Reif 、Maus和Brassel等人也发表了类似的算法.下面主要讨论利用三角网生长算法来构建不规则三角网. 如图1所示,在数据点集中任取一点A,查找距 图1 其始三角形的确定 收稿日期:2003 02 21;修订日期:2003 06 19 基金项目:国家自然科学基金项目(40371098)资助 作者简介:赖鸿斌(1978-),男,福建莆田人,硕士生,从事3S的应用研究.

判定三角形形状的十种方法

判定三角形形状的十种方法 数学考试和数学竞赛中,常有判断三角形形状的题目,这类题目涉及的知识面广,综合性强,它沟通了代数、几何、三角等方面的知识联系。解题思路不外是从边与边、边与角之间的关系考虑,从而达到解题的目的。 1、若有a=b或(a-b)(b-c)(c-a)=0, 则△ABC为等腰三角形。 2、若有(a-b)2+(b-c)2+(c-a)2=0, 则△ABC为等边三角形。 3、若有a2+b2>c2,则△ABC为锐角三角形; 若有a2+b2=c2,则△ABC为直角三角形; 若有a2+b2<c2,则△ABC为钝角三角形。 4、若有(a2-b2)(a2+b2-c2)=0, 则△ABC为等腰三角形或直角三角形。 5、若有a=b且a2+b2=c2, 则△ABC为等腰直角三角形。 以上是从三角形的边与边之间的关系考虑的。 6、若有sin2A+sin2B=sin2C或sinA=sinB, 则△ABC为直角三角形或等腰三角形。 7、若有cosA>0,或tanA>0,(其中∠A为△ABC中的最大角) 则△ABC为锐角三角形。

8、若有cosA<0,或tanA<0,(其中∠A为△ABC中 的最大角), 则△ABC为钝角三角形。 9、若有两个(或三个)同名三角函数值相等(如 tanA=tanB),则△ABC为等腰三角形(或等边三角形)。 10、若有特殊的三角函数值,则按特殊角来判断,如 cosA=,b=c,则△ABC为等边三角形。 以下就一些具体实例进行分析解答: 一、利用方程根的性质: 例1:若方程x2+2ax+b2=0与x2+2cx-b2=0有一 个相同的根,且a、b、c为一个三角形的三条边,则此三 角形为() (A)锐角三角形;(B)钝角三角形; (C)以c为斜边的直角三角形;(D)以a为斜边的直角 三角形; (“缙云杯”初中数学邀请赛) 解:将两个方程相减,得:2ax-2cx+2b2=0,显然a≠c,否则b=0,与题设矛盾,故x= ,将两个方程相加, 得2ax+2cx+2b2=0,∵x≠0,否则b=0,与题设矛盾, ∴x=-(a+c),∵两个方程有一个相同的根, ∴ =-(a+c),即b2+c2=a2,故△ABC是以a为斜边 的直角三角形,故应选(D) 二、利用根的判别式

基于不规则三角网构建的网格生长算法

基于基于不规则三角网不规则三角网不规则三角网构建构建构建的的网格生长算法 刘 刚,李永树李永树,,张水舰 (西南交通大学地理信息工程中心,成都 610031) 摘 要:提出一种基于离散点Delaunay 三角网快速构建的网格生长算法,采用分治算法将离散点表达为唯一网格,利用稀疏矩阵完成网格数据的压缩存储,通过标识码实现有值单元格与离散点之间的高效检索,从而提高网格构建的效率。依据有值单元格的密度获取预设正方形搜索空间,并在三角网扩展时根据需要动态建立正方形搜索空间,从而保证网格生长的准确性。实验结果表明,该算法的时间复杂度为O (n log n ),对于少量或海量离散点均具有较好的适应性。 关键词关键词::Delaunay 三角网;不规则三角网;离散点;正方形搜素空间;网格生长算法 Grid Growing Algorithm Based on Triangular Irregular Network Construction LIU Gang, LI Yong-shu, ZHANG Shui-jian (Geography Information Engineering Center, Southwest Jiaotong University, Chengdu 610031, China) 【Abstract 】This paper presents a grid growing algorithm for fast construction of Delaunay irregular network based on discrete point. In this algorithm, a grid is achieved to express discrete point uniquely based on the divide-and-conquer method, which is compressed storage in a sparse matrix, and an efficient retrieval method is established between value cell and discrete point by identification code, which is effectively to improve the efficiency of the construction of Triangular Irregular Network(TIN). According to the density of value cells, a default square search space is acquired, and it is allowed to create the square search space dynamically in the expansion process of TIN, which ensures the accuracy of the grid growing. Experimental results show that the time complexity of the proposed algorithm is O (n log n ), and the algorithm is available to both small and massive amount of discrete points. 【Key words 】Delaunay triangular network; Triangular Irregular Network(TIN); discrete point; square search space; grid growing algorithm DOI: 10.3969/j.issn.1000-3428.2011.12.019 计 算 机 工 程 Computer Engineering 第37卷 第12期 V ol.37 No.12 2011年6月 June 2011 ·软件技术与数据库软件技术与数据库·· 文章编号文章编号::1000—3428(2011)12—0056—03 文献标识码文献标识码::A 中图分类号中图分类号::P209 1 概述 不规则三角网(Triangular Irregular Network, TIN)表面建模是一种很重要的表面建模方法[1-2]。在所有生成TIN 的方法中,Delaunay 三角网最优,它尽可能避免了病态三角形的出现,常被用来生成TIN 。 目前,利用离散点构建Delaunay 三角网的方法有很多,主要有逐点插入法、三角网生长法、分治算法等[1]。逐点插入算法是Lawson C L [3]提出的,之后Bowyer A [4]、Watson D F [5]等人对其进行发展。该算法的时间复杂度一般在3/2()O n ~ (log ) O n n [6-7] ,在处理过程中每插入一个点都要判断插入点 所在的三角形,随着数据点的不断插入,三角形的个数成倍增加,将花费大量的时间在三角形的定位上,从而直接影响算法效率。三角网生长法、分治法等算法的时间复杂度的下界为(log )O n n 。三角网生长法将大部分时间花费在搜索符合 要求的给定基线的邻域点过程中,分治算法由于递归执行,算法需要较大内存空间[8],对海量数据而言,两者的效率都 较低。 为提高不规则三角网的构建效率,本文提出一种基于离 散点构建不规则三角网的网格生长算法,重点研究如何由离 散点生成规则网格,并在此基础上建立TIN 模型。 2 一种一种构建构建构建不规则三角网的不规则三角网的不规则三角网的网格网格网格生长算法生长算法 2.1 离散点离散点网格网格网格化化 网格由许多单元格组成,通常将单元格看成一个对象。从处理效率上看,单元格值的情况越少,单元格之间的计算 速度越快。所以,从计算效率出发,针对离散数据确定如下 规则网格构建准则:规则网格包含所有离散点,每个离散点对应一个单元格,且一个单元格内的离散点数量小于2。当单元格内存在一个离散点时表示该单元格有值(用1表示),称为有值单元格,当不存在离散点时表示该单元格无值(即为Null),称为空值单元格,并将按照该准则建立的规则网格称为唯一网格,其唯一性体现在离散点与有值单元格的一一对应关系。原理如图1所示,图1(a)表示一个单元格只包含 1个或0个离散点,图1(b)是对有值单元格进行赋值的结果(其中,黑色表示有值单元格即为1;其余无值即为Null)。 (a)离散点与网格关系 (b)网格化结果 图1 离散点离散点网格网格网格化化 基金项目 基金项目::“十一五”国家科技支撑计划基金资助项目(2006BAJ05 A13) 作者简介作者简介::刘 刚(1986-),男,硕士,主研方向:复杂网络,GIS 原理及其应用;李永树,教授、博士生导师;张水舰,博士 收稿日期收稿日期::2011-01-08 E-mail :liugang233666@https://www.360docs.net/doc/9c9623602.html,

不规则三角网(TIN)生成的算法

第五章 不规则三角网(TIN)生成的算法
5.1.1 递归生长法
递归生长算法的基本过程为如图 5.1.1 所示:
3 2
1
3 2
1
(a)形成第一个三角形 (b) 扩展生成第二个和第三个三角形 图 5.1.1 递归生长法构建 Delaunay 三角网
(1)在所有数据中取任意一点 1(一般从几何中心附近开始),查找 距离此点最近的点 2,相连后作为初始基线 1-2;
(2)在初始基线右边应用 Delaunay 法则搜寻第三点 3,形成第一个 Delaunay 三角形;
(3)并以此三角形的两条新边(2-3,3-1)作为新的初始基线; (4)重复步骤(2)和(3)直至所有数据点处理完毕。 该算法主要的工作是在大量数据点中搜寻给定基线符合要求的邻域 点。一种比较简单的搜索方法是通过计算三角形外接圆的圆心和半径来完 成对邻域点的搜索。为减少搜索时间,还可以预先将数据按 X 或 Y 坐标分 块并进行排序。使用外接圆的搜索方法限定了基线的待选邻域点,因而降 低了用于搜寻 Delaunay 三角网的计算时间。如果引入约束线段,则在确定 第三点时还要判断形成的三角形边是否与约束线段交叉。
1

5.1.2 凸闭包收缩法
与递归生长法相反,凸闭包搜索法的基本思想是首先找到包含数据区 域的最小凸多边形,并从该多边形开始从外向里逐层形成三角形网络。平 面点凸闭包的定义是包含这些平面点的最小凸多边形。在凸闭包中,连接 任意两点的线段必须完全位于多边形内。凸闭包是数据点的自然极限边界, 相当于包围数据点的最短路径。显然,凸闭包是数据集标准 Delaunay 三角 网的一部分。计算凸闭包算法步骤包括:
(1)搜寻分别对应 x-y,x+y 最大值及 x-y,x+y 最小值的各二个点。 这些点为凸闭包的顶点,且总是位于数据集的四个角上,如图 5.1.2(a)中的点 7,9,12,6 所示;
(2)将这些点以逆时针方向存储于循环链表中; (3)对链表中的点 I 及其后续点 J 搜索线段 IJ 及其右边的所有点,计
算对 IJ 有最大偏移量的点 K 作为 IJ 之间新的凸闭包顶点,如点 11 对边 7-9。 (4)重复(2)-(3)直至找不到新的顶点为止。
(a)初始边界 7,9,12,6;(b)搜索凸闭包顶点 11,5,4;(c)凸闭包 图 5.1.2 凸闭包的计算(引自 Tsai,1993)
一旦提取出数据区域的凸闭包,就可以从其中的一条边开始逐层构建 三角网,具体算法如下:
2

2动态三角形法(图解法)

共点力平衡——动态三角形法(图解法) 动态三角形法: 1、质量为m 的物体用轻绳AB 悬挂于天花板上。用水平向左的力F 缓慢 拉动绳的中点O ,如图所示。用T 表示绳OA 段拉力的大小,在O 点向 左移动的过程中,分析F 与T 的变化情况? 2、如图,在倾角为α的光滑斜面上放一个重为G 的光滑球,并 用光滑的竖直挡板挡住,求光滑球受到斜面和挡板的支持力F 1、 F 2分别是多少?若挡板向左转动,F 1、F 2分别怎样变化? 3、如图,用力F 拉着小球保持静止,且使细绳与竖直方向 夹角保持α不变,当拉力F 与水平方向夹角β为多大时,力 F 最小? 4、如图,小球用细绳系住,绳的另一端固定于O 点, 现用水平F 缓慢推动斜面体,小球在斜面上无摩擦地滑 动,细绳始终处于直线状态,当小球升到接近斜面顶端 时细绳接近水平,分析此过程中斜面对小球的支持力F N , 以及绳对小球的拉力F T 的变化情况。 5、如图,在粗糙水平地面上放着一个截面为半圆的柱状物 体A ,A 与竖直挡板之间放一光滑圆球B ,整个装置处于静 止状态。现对挡板加一向右的力F ,使挡板缓慢向右移动, B 缓慢上移而A 仍保持静止。设地面对A 的摩擦力为F 1, B 对A 的作用力为F 2,地面对A 的支持力为F 3 。分析此过 程中F 1 ,F 2 ,F 3的变化情况。 6、如图,将一个重物用两根等长的细绳OA 、OB 悬挂在半圆形的架子上,在保持重物位置不动的前提下,B 点固定不动,悬点A 由位置C 向位置D 移动,直至水平,分析在这个过程中,细绳OA 、OB 受的拉力大小的变化情况。

实验四:不规则三角网

本科学生野外实验报告 学号姓名 学院旅游与地理科学学院专业、班级 实验课程名称地理信息系统实习教程 教师及职称 开课学期2012 至2013 学年下学期填报时间2013 年 5 月29 日 云南师范大学教务处编印

1、实验现象与结果 (1)视线分析,打开ex15.mxd,激活Data frame1,在General标签栏中,在Units框内,用下拉式菜单将Map和Display从Unknow Units改为Meters,完成后按“确定”关闭,选用菜单Tool/Extension,加载3D Analyst扩展模块,选用菜单View/Toolbars/3D Analyst,加载 3D Analyst工具条,点击产生视线按钮,出现Line of Sight对话框:

(2)基于视点的视域分析 ①产生单个观察点的视域栅格,选用3D/Options,作初始设置,初始设置完成后,选用菜单3D Analyst/Sueface Analysis/Viewshed…,出现Viewshed参数设置对话框,按ok键确定后,软件产生栅格状视域分析结果图层Visibilel。

②改变观察点的高程,视域分析中,需预先设定部分参数,其中有观察点的高度。在前面分析的视域分析中,没有作任何特别的设置,软件默认为观察点的高度比所在位置的三维面高一个地图单位,其观察点绝对高程为90m的视域: ③两次视域分析结果的比较,前一次不作任何设置,观察点高程仅仅是比对应的三维表面层

Analyst/Convert/Features to 3D,出现“Convert features to 3D”参数设置对话框进行设置,再Viewshed参数设置对话框进行设置,最后就能得到基于路径的视域分析结果图;

矢量三角形法--专题

矢量三角形法在三力平衡问题中的应用 在静力学中,经常遇到在力系作用下处于平衡的物体其所受诸力变化趋势判断问题.这 种判断如果用平衡方程作定量分析往往很繁琐,而采用力三角形图解讨论则清晰、直观、全 面.我们知道,当物体受三力作用而处于平衡时,必有∑F=O ,表示三力关系的矢量图呈闭 合三角形,即三个力矢量(有向线段)依次恰好能首尾相接.当物体所受三力有所变化而又维 系着平衡关系时,这闭合三角形总是存在而仅仅是形状发生改变.比较不同形状的力三角形各几何边、角情况,我们对相应的 每个力大小、方向的变化及其相互间的制约关系将一目了然.所 以,作出物体平衡时所受三力矢量可能构成的一簇闭合三角形, 是力三角形法的关键操作。 三力平衡的力三角形判断通常有三类情况. 一、三力中有一个力确定,即大小、方向不变,一个力方向 确定。这个力的大小及第三个力的大小、方向变化情况待定 例1 如图1所示,用细绳通过定滑轮沿竖直光滑的墙壁匀速向上拉动, 例2 则拉力F和墙壁对球的支持力N的变化情况如何? 分析与解 以球为研究对象,在平衡时受重力,绳上的拉力及墙壁 对球的支持力,三力关系可由一系列闭合的矢量三角形来描述。其中重 力为确定力,墙壁对球的支持力为方向确定力, 如图2,取点O作表示 重力的有向线段①,从该箭头的端点作支持力N的作用线所 在射线②,作从射线②任意点指向O点且将图形封闭成三角形的一系列有向线段③它们就是绳子拉力矢量。用曲线箭头 表示变化趋势,从图中容易分析绳子拉力不断增大,墙壁对 球的支持力也不断增大,因上升的过程中图中角度θ在不断 增大 例2 如图3装置,AB 为一轻杆在B 处用铰链固定于 竖墙壁上,AC 为不可伸长的轻质拉索,重物W可在AB 杆上滑行。试分析当重物W 从A 端向 B 端滑行的过程中,绳索中拉力的变化情况以及墙对AB 杆作用力的变化情况。 分析与解 以AB 杆为研究对象,用力矩平 衡的知识可较为方便明确AC 拉索中的拉力变化情 况,但不易确定墙对AB 杆作用力的情况。我们考虑 到AB 杆受三个力作用且处于平衡状态,则它们的作 用线必相交于一点,这样三力关系可由闭合的矢量 三角形来描述。其中重物对杆的拉力为确定力,拉索对杆的拉力为方向确定力,与上题类似。 如图4,取O 点作表示重物对AB 杆拉力的有向线 段①,过O 点作绳索拉力的作用线所在射线②,从①箭头 端点作指向射线②上任意 点的有向线段③,则③就是墙对AB 杆的作用力. 用曲箭头表明变化趋势。从图中可以看出:随着重物从A 端向B 端移动的过程中,①、③的夹角θ逐渐减小,所以 绳索的拉力不断减小,墙对AB 杆的作用力先减小后增大。 综上所述,类型一问题的作图方法是:以确定力矢量 为力三角形系的基准边,在它的箭头端沿已知方向力的方 向作射线,从射线上的点作指向确定力矢量箭尾的有向线 图4 图 1 图2 图3

CASS软件三角网法计算土方量

CASS软件三角网法计算土方量 数字地面模型(DTM)可以解决一些工程实际的问题,该模型能用三维场景表示出地貌的起伏状态,可以按用户要求进一步生成坡度图、等高线图、断面图等;三角网是DTM模型中的一种,利用该模型可以较方便的计算出土方量,在工程上得到了广泛的应用。 标签:CASS软件;DTM;土方量计算 1 土方量计算概述 土方量的计算是工程费用概算及施工方案选取的重要依据,所以工程施工前的设计阶段必须对施工区域的土石方量进行计算。土石方量计算是以设计高程作为底面高程,以施工前该区域的实际地形高程作为顶面高程。土石方量的计算方法有等高线法,方格网法,断面法和三角网法等。在实际工作时,无论采用哪一种方法,都需要利用测量仪器获得大量的地形数据,其采样的间隔越小,其计算出的土方量越准确。在这几种土方量计算方法中,三角网法由于很好的拟合实际地貌的几何特征,并且能克服地形起伏不大的地区产生冗余数据的问题,其计算精度高于等高线法,方格网法,断面法精度。 2 三角网法土方量计算 2.1 建立三角网 数字高程模型(DEM)的格网间隔(数据点密度)与其同比例尺地形图高程精度相适配,并形成有规则的格网系统,根据不同的高程精度,可分为不同类型产品。为完整反映地表形态,可配套提供离散高程点数据。三角网是数字高程模型中的一种,是在一定区域内规则三角网点的三维坐标数据的集合,这个数据集合可以代表该区域地形地貌的起伏状态。利用CASS(数字地形地籍绘图软件)可以较为容易的生成三角网,其建立方法分为两种:一种是根据“坐标数据文件”生成,另一种是根据“图面高程点”生成。无论采用哪一种方法,都必须是依据坐标数据文件,必须采用如下格式:“点号,编码,Y坐标,X坐标,高程”才能在CASS软中将高程点展绘出来。需要注意的是编码一位可以是空缺的,但是“逗号”不能省略,此文件格式必须是五个“逗号”,并其需要注意横坐标在前,纵坐标在后。 因实际地貌的多样性和复杂性,自动构成的三角网模型与实际地貌会有一定偏差,如果出现了三角网与实际地形不符合的情况,可以采用如下方法进行局部的修改:(1)删除三角形:如果区域边界生成了多余的三角形,应把其删除;(2)增加三角形:如果边界区域某范围没有生产三角网,则应通过内插点生产三角形,否则没有三角形的范围不参与土方量的计算;(3)过滤三角形:如果某些三角行的某个角度过小,可以采用该方法,将这些三角行重新组合成三角形;(4)删三角形顶点:采用该方法可以将有公共点的三角形统一删除,这样该区域范围不参

联系三角形法在地下工程中的应用

联系三角形法在地下工程中的应用 【摘要】在地下工程施工中建立地面与地下统一的坐标系是工程建设过程中的关键,只有统一的坐标才能使隧道的贯通得以顺利进行,而如何使地上、地下的坐标得以统一联系测量是工程施工中的关键。本文介绍的一井定向方法解决了地上与地下的坐标统一问题,解析了联系三角形的计算方法,提出了利用一井定向进行地下工程的联系测量不但可以保证工程的进度,同时可以保证工程的精度。 【关键词】一井定向;联系三角形;贯通;统一坐标系 0 引言 一井定向是指经过一个竖井进行定向的方法,亦可称为联系三角形定向。一井定向的方法是通过测量角度、距离等几何量来完成定向的,属于几何定向方法。这种方法需要在竖井、车站或投点孔等处进行。 进行一井定向时,在竖井井筒中悬挂两根钢丝垂球,在地面上利用地面控制点测定两垂球线的平面坐标及其连线方位角,在井下使用全站仪测角量边把垂球线与井下起始控制点连接起来,通过计算确定井下起始控制点的坐标和方位角。一井定向测量工作可分为投点(即在井筒中下放钢丝)和连接测量两项工作。 1 联接测量 暗挖隧道采用竖井联系三角形测量即通过竖井悬挂两根钢丝,由近井点测定与钢丝的距离和角度,算得钢丝的坐标以及它们的方位角,然后在井下认为钢丝的坐标和方位角已知,通过测量和计算便可得出地下导线的坐标和方位角,从而将地上和地下联系起来。图1所示为一井定向的示意图。 图1 联系三角形定向测量 联系三角形法,一般适合于井口小、深度大的竖井进行联系测量。虽然其作业工作量较大,但其精度很稳定,在城市轨道交通联系测量工作中该法也得到广泛应用。井上、井下联系三角形应满足下列要求: 1)竖井中悬挂钢丝间的距离c应尽可能长; 2)联系三角形锐角γ、γ’,一般应小于1°,呈直伸三角形; 3)a/c及a’/c比值,一般应小于1.5,a为近井点至悬挂钢丝的最短距离。钢丝宜选用Φ0.3mm,悬挂10kg重锤,并将重锤浸没在阻尼液中。联系三角形边长测量可采用光电测距或经检定的钢尺丈量,每次应独立测量三测回,每测回三次读数,各测回较差应小于1mm。地上与地下丈量的钢丝间距较差应小于2mm。

高中物理解题方法例话:7三角形法

7三角形法 [例题1]如图1所示,三角形支架AB=20cm、AC=30cm、BC=40cm,在支架的C点系一重物G=200N,求AC、BC两杆所受力的大小。 图1 解析:重物对绳的拉力F=G=200N,根据力的作用效果分析,如图2所示,显而易见:力的三角形FACCF与支架三角形CAB相似, 图2 即:△FACCF~△CAB 所以:FAC/AC=FBC/BC=F/AB 代入数值得:FAC=300N FBC=400N。 [例题2]如图3所示,河水流速v1=5m/s,一只小机动船在静水中速度v2=4m/s,现在它从A点开始渡河,要使其位移最短,船头应指向何方向行驶? 图3 解析:由于v1>v2,机动船无论向什么方向航行也不能垂直过河,那么机动船向什么方向航行渡河位移才能最小呢?我们作如图4分析:由于水的速度v1大小和方向都不变,而机动船的速度v2大小不变,则利用三角形定则合成时,v2末端在以v1末端为圆心、以v2的大小为半径的一个圆周上,显然,当机动船过河的实际速度方向与圆相切时,即α角最大,过河位移最短,此时,sinα=v2/v1=4/5,所以α=arcsin4/5=53°,即船头与河岸夹角为53°时过河位移最小。 图4 [例题3]如图5所示为某一横波的波形及波上A、B、C、D各质点的图像,求: (1)若此

列波向左传播,试判断A、B、C各质点的运动方向。 图5 (2)若D质点此时向下运动,试判断波的传播方向. 解析:(1)我们可以在两波谷(或波峰)间画一直线MN,沿波的传播方向标上箭头,然后在这条直线中心所对应的靠近波峰(或波谷)取一点Q,连接QN、QM使MNQ为一个三角形,在△MNQ的每条边上标上箭头,使箭头的方向首尾相连,由于NQ边的箭头指向上,所以A质点此时向上运动,同理B、C点向下运动. (2)由于D质点向下运动,我们沿波的斜坡画一直线EG,箭头由E指向G,然后同样作△EGF,依次标上箭头使它们首尾相连.由于靠近两波峰的EF边的箭头向右,因此,可以判断坡的传播方直水平向右。

不规则三角网的建立与应用

作为空间数据基础设施中的“4D”产品之一和地理信息系统的核心数据库,数字高程模型(DEM)已在测绘、遥感、农林规划、城市规划、土木水利工程、地学分析等各个领域都有了广泛的应用。数字高程模型的表示方法主要有规则格网模型、不规则三角网模型和等高线模型三种,而不规则三角网(TIN)是数字高程模型中最基本和最重要的一种模型,它能以不同层次的分辨率来描述地形表面,并可以灵活的处理特殊地形。因此,围绕基于TIN 的DEM 的构建,本文主要论述了基于TIN 结构的数字高程模型建模原理和方法,离散点的Delaunay 三角网生成算法,建立有约束条件的约束三角网,最后分析了建立的TIN模型在土方计算方面的应用。 在本论文论述的过程中,针对传统算法进行了对比和分析后,在逐点插入法的基础之上,提出了一些新的细部改进的实现方法。局部优化操作和改进的算法实现使得对大容量离散点的三角网构建速度更快,效率更高;对限制条件的嵌入满足由此计算出来的土方量更接近实际期望值。本论文中主要的研究成果和内容如下:1)在离散点的Delaunay 三角网生成方面,本文中在插入点算法的基础上,建立凸包和矩形包容盒,建立虚拟网格,对原始离散点进行一级格网自适应分块,并建立索引关系。在定位点所在三角形时引入快速点定位算法,简易的空外接圆及圆内测试公式,通过这些改进使得Delaunay 三角网的剖分更加高效。 2)在约束Delaunay 三角网理论基础之上,结合上面散点域的剖分方法,对已有的两步算法基础上改进,完成约束Delaunay 三角网的构建。在其过程中应用矢量点积等数学工具改善了计算中的凹凸点判断,继续采用上章的快速索引和最速定位方法,并且对约束线相切等特殊情形进行了处理,进一步完善了算法的稳健性。 3)对于在约束三角网构造基础上的TIN 模型的应用,文中对其在土方量计算方面精度的优越性进行了分析,在可视化表达方面最后结合广东省东莞市某高尔夫球场工程给出了例证。 关键词:不规则三角网(TIN);逐点插入法;土方计算

相关文档
最新文档