斯坦纳点/树、泰森多边形

斯坦纳点

斯坦纳点别名正等角中心、费尔马点、斯坦纳点
在三角形的三边各向其外侧作等边三角形,这三个等边三角形的外接圆交于一点T,该点T即称为托里拆利点(Torricelli’s point ),而三个等边三角形的外接圆称为托里拆利圆。在一定条件下,托里拆利点和正等角中心、费尔马点等是一回事。托里拆利点是由意大利物理学家托里拆利发现的。该问题是费马(1601-1665)作为“求一点,使它至一三角形三顶点的距离和最小"这一著名的极值问题而向意大利物理学家托里拆利(1608-1647)提出,并为托里拆利所解决的,当三角形内角均小于120°时点K即为所求,故称K为托里拆利点,也称费马点。以后,德国斯太纳((1796-1863)独立提出并推广了它,故又称斯太纳问题。
在这里插入图片描述

斯坦纳树

斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种。最小生成树是在给定的点集和边中寻求最短网络使所有点连通。而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网络开销最小。
斯坦纳树问题的定义随着历史的发展在不断的扩展和推广:

  • 瑞士数学家斯坦纳(J.Steiner,1796—1863)将问题推广成:在平面上求一点,使得这一点到平面 上给定的若干个点(称为所与点)的距离之和最小。这可以看作斯坦纳树问题的雏形。
  • 考虑到点的其他相关因素,加入了权重的表示。形成的推广定义,德国的两位数学家韦伯(H.Weber,1842—1913)和维斯菲尔德(E.Wieszfeld)分别在1909年和1937年将该问题作为工 厂选址问题提出来:某地有给定的若干个仓库,每个仓库的其他相关因素可以换算成一个权重表示,求一建造工厂的合适地点,使工厂到每个仓库的距离与权重乘积 的总和最小,则这个工厂的地址是最经济、便利的。
  • 库朗(R.Courant)和罗宾斯(H.Robbins)提出第一个定义中,斯坦纳对此问题的推广是一种平庸的推广。要得到一个有意义的推广,需要考虑的不是引进一个点,而应是引进若干个点,使引进的点与原来给定的点 连成的网络最小。他们将此新问题称为斯坦纳树问题。给出的定义为:
    假设原来已经给定了n个点,库朗等指出需要引进的点数至多为n-2,此种点称为斯坦纳点。过每一斯坦纳点,至多有三条边通过。若为三条边,则它们两两交成 120°角;若为两条边,则此斯坦纳点必为某一已给定的点,且此两条边交成的角必大于或等于120°。其中最小的网络称为已给定点的集合的最小斯坦纳树, 记作SMT。若此SMT的斯坦纳点中有等于给定点的点,则称此SMT为退化的,此给定点称为退化点。

Steiner’s minimal tree

Steiner’s minimal tree problem is this: Find the shortest possible network interconnecting a set of points in the Euclidean plane. If the points are linked directly to each other by straight line segments, we obtain the minimal spanning tree. But Steiner’s problem allows for additional points – now called Steiner points – to be added to the network, yielding Steiner’s minimal tree. This generally results in a reduction of the overall length of the network.

Euclidean Steiner tree

The original problem was stated in the form that has become known as the Euclidean Steiner tree problem or geometric Steiner tree problem: Given N points in the plane, the goal is to connect them by lines of minimum total length in such a way that any two points may be interconnected by line segments either directly or via other points and line segments. It may be shown that the connecting line segments do not intersect each other except at the endpoints and form a tree, hence the name of the problem.

Rectilinear Steiner tree

The rectilinear Steiner tree problem is a variant of the geometric Steiner tree problem in the plane, in which the Euclidean distance is replaced with the rectilinear distance. The problem arises in the physical design of electronic design automation. In VLSI circuits, wire routing is carried out by wires that are often constrained by design rules to run only in vertical and horizontal directions, so the rectilinear Steiner tree problem can be used to model the routing of nets with more than two terminals.

Steiner ratio

The Steiner ratio is the supremum of the ratio of the total length of the minimum spanning tree to the minimum Steiner tree for a set of points in the Euclidean plane.

泰森多边形

荷兰气候学家A·H·Thiessen提出了一种根据离散分布的气象站的降雨量来计算平均降雨量的方法,即将所有相邻气象站连成三角形,作这些三角形各边的垂直平分线,于是每个气象站周围的若干垂直平分线便围成一个多边形。用这个多边形内所包含的一个唯一气象站的降雨强度来表示这个多边形区域内的降雨强度,并称这个多边形为泰森多边形。
如图1,其中虚线构成的多边形就是泰森多边形。泰森多边形每个顶点是每个三角形的外接圆圆心。泰森多边形也称为Voronoi图,或dirichlet图。
在这里插入图片描述
泰森多边形的特性是:
1,每个泰森多边形内仅含有一个离散点数据。
2,泰森多边形内的点到相应离散点的距离最近。
3,位于泰森多边形边上的点到其两边的离散点的距离相等。
泰森多边形可用于定性分析、统计分析、邻近分析等。例如,可以用离散点的性质来描述泰森多边形区域的性质;可用离散点的数据来计算泰森多边形区域的数据;判断一个离散点与其它哪些离散点相邻时,可根据泰森多边形直接得出,且若泰森多边形是n边形,则就与n个离散点相邻;当某一数据点落入某一泰森多边形中时,它与相应的离散点最邻近,无需计算距离。
在泰森多边形的构建中,首先要将离散点构成三角网。这种三角网称为Delaunay三角网。

Delaulay三角形的构建

Delaunay三角网的构建也称为不规则三角网的构建,就是由离散数据点构建三角网,如图2,即确定哪三个数据点构成一个三角形,也称为自动联接三角网。即对于平面上n个离散点,其平面坐标为(xi,yi),i=1,2,…,n,将其中相近的三点构成最佳三角形,使每个离散点都成为三角形的顶点。
在这里插入图片描述
自动联接三角网的结果为所有三角形的三个顶点的标号,如:1,2,8;2,8,3;3,8,7;……
为了获得最佳三角形,在构三角网时,应尽可能使三角形的三内角均成锐角,即符合Delaunay三角形产生的准则:
1、任何一个Delaunay三角形的外接圆内不能包含任何其它离散点。
2、相邻两个Delaunay三角形构成凸四边形,在交换凸四边形的对角线之后,六个内角的最小者不再增大。该性质即为最小角最大准则。
在这里插入图片描述
下面介绍Tsai(1993)提出的在n维欧拉空间中构造Delaunay三角形的通用算法—凸包插值算法。
(一)、凸包生成
1、求出点集中满足min(x-y)、min(x+y)、max(x-y)、max(x+y)的四个点,并按逆时针方向组成一个点的链表。这4个点是离散点中与包含离散点的外接矩形的4个角点最近的点。这4个点构成的多边形作为初始凸包。
2、对于每个凸包上的点I,设它的后续点为J,计算矢量线段IJ右侧的所有点到IJ的距离,求出距离最大的点K。
3、将K插入I、J之间,并将K赋给J。
4、重复2、3步,直到点集中没有在线段IJ右侧的点为止。
5、将J赋给I,J取其后续点,重复2、3、4步。
6、当凸包中任意相邻两点连线的右侧不存在离散点时,结束点集凸包求取过程。
完成这一步后,形成了包含所有离散点的多边形(凸包),如图3所示。
(二)、环切边界法凸包三角剖分
在凸包链表中每次寻找一个由相邻两条凸包边组成的三角形,在该三角形的内部和边界上都不包含凸包上的任何其它点。将这个点去掉后得到新的凸包链表。重复这个过程,直到凸包链表中只剩三个离散点为止。将凸包链表中的最后三个离散点构成一个三角形,结束凸包三角剖分过程。
在这里插入图片描述
完成这一步后,将凸包中的点构成了若干Delaunay三角形,如图4所示。
(三)、离散点内插
在对凸包进行三角剖分之后,不在凸包上的其余离散点,可采用逐点内插的方法进行剖分。基本过程为:
1、选择一个尚未构成三角形的离散点
2、在已经生成的三角形中,找出该离散点的三角形(离散点在该三角形在内部或者在该三角形的边上)
3、如果离散点在三角形的内部,则将该三角形以及三角形的边删除,然后将三个顶点以及离散点分别连接,形成三个新的三角形。如果离散点在三角形的边上,记录点所在的边E,根据拓扑关系,找出该边的左右相邻三角形T1,T2,添加四条新边和四个新三角形NT,删除T1,T2以及边E。
对于新生成的三角形,需要挨个对其边进行空外接圆检测。具体做法为:对于新生成的三角形的边E,找出该边相邻的两个三角形,判断该边一侧的对角的顶点是否位于另外一个三角形的外接圆的里面。如果是,则将边E删除,再将两个对角连接起来,形成两个新的三角形。对于新三角形的边,同样需要进行空外接圆检测,如此继续进行,直到所有新生成的三角形都通过空外接圆检测为止。
4、重复1、2、3,直到所有非凸壳离散点都插入完为止。完成这一步后,就完成了Delaunay三角网的构建,如图5所示。
在这里插入图片描述
四、泰森多边形的建立步骤
建立泰森多边形算法的关键是对离散数据点合理地连成三角网,即构建Delaunay三角网。建立泰森多边形的步骤为:
1、离散点自动构建三角网,即构建Delaunay三角网。对离散点和形成的三角形编号,记录每个三角形是由哪三个离散点构成的。
2、找出与每个离散点相邻的所有三角形的编号,并记录下来。这只要在已构建的三角网中找出具有一个相同顶点的所有三角形即可。
在这里插入图片描述
图6 泰森多边形的建立
3、对与每个离散点相邻的三角形按顺时针或逆时针方向排序,以便下一步连接生成泰森多边形。排序的方法可如图6所示。设离散点为o。找出以o为顶点的一个三角形,设为A;取三角形A除o以外的另一顶点,设为a,则另一个顶点也可找出,即为f;则下一个三角形必然是以of为边的,即为三角形F;三角形F的另一顶点为e,则下一三角形是以oe为边的;如此重复进行,直到回到oa边。
4、计算每个三角形的外接圆圆心,并记录之。
5、根据每个离散点的相邻三角形,连接这些相邻三角形的外接圆圆心,即得到泰森多边形。对于三角网边缘的泰森多边形,可作垂直平分线与图廓相交,与图廓一起构成泰森多边形。
在这里插入图片描述

https://blog.csdn.net/gdut2015go/article/details/48208983
https://desktop.arcgis.com/zh-cn/arcmap/10.3/tools/coverage-toolbox/how-thiessen-works.htm

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345956.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FXRibbon 1.2版发布

这次,有所不同。 Microsoft对FXRibbon的更新,就像Java的功能区控件(JavaFX)一样 。 在发出使FXRibbon做好更好的准备以将其更新到Java 9以及更高版本的要求之后,我借此机会还添加了一些功能,进行了一些美学…

c语言链表写贪吃蛇思路,C语言构建的链表贪吃蛇

用C语言链表写的贪吃蛇(程序设计时做的,做的不好大佬勿喷)借助游戏内容分析贪吃蛇所需的功能主要包括这几块:移动光标模块打印地图模块和基本规则信息读取最高分文件打印初始蛇模块打印时给予蛇的初始移动方向产生食物模块1)、保证食物在地图内产生2)、保…

用普罗米修斯和格拉法纳乐器来刺豪猪

Adam Bien的Porcupine库使配置用作应用程序隔板的专用执行程序服务变得容易。 我创建了一个扩展,通过MicroProfile Metrics公开了豪猪统计信息。 我们还可以通过Prometheus和Grafana仪表板使仪器可见。 进行此扩展的原因是我们希望对Porcupine线程池的检测进行简单…

三层网络架构

三层网络架构 数据中心网络是连接数据中心大规模服务器进行大型分布式计算的桥梁。 传统数据中心网络普遍采用树型拓扑方案. 典型的拓扑由三层交换机互联构成,分别是接入层交换机、汇聚层交换机和核心层交换机。Cisco称之为:分级的互连网络模…

SDN

直接理解 SDN是在2009年左右出现的一种新型网络结构,它将数据层面与控制层面分离,使用中央控制器完成网络的操作和管理,并通常采用OpenFlow协议作为其核心通信协议,拥有着集中式控制、可编程、部署灵活性和数据层面与控制层面相互…

IP地址分类(A类 B类 C类 D类 E类)

IP地址类型 公有地址 公有地址(Public address)由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。 私有地址 私有地址&am…

android 开发 短信,Android开发之短信发送

今天要讲的是使用Android开发发送短信程序。我们先来看下运行效果图(1) 图(2)图(3)图(1):当我们运行项目时,出现在屏幕的效果;图(2):当我们输…

ISP (互联网服务提供商)

ISP:全称为Internet Service Provider,即因特网服务提供商,能提供拨号上网服务、网上浏览、下载文件、收发电子邮件等服务,是网络最终用户进入Internet的入口和桥梁。它包括Internet接入服务和Internet内容提供服务。这里主要是In…

应用层组播、IP组播

通常说的组播一般指IP组播,IGMP协议等 什么是应用层组播? 应用层组播通过在应用层复制和缓存数据包而不是在路由器上复制数据包来避免IP组播的部署问题。应用层组播无须对路由器作任何修改,因此在 Internet 上非常容易部署 为了改善网络效率&#xff0…

android 酷炫倒计时,android 好用的倒计时

android倒计时 是在原有TextView的基础上进行二次开发的自定义View效果图这个主要是结合了android的CountDownTimer,这个一般就是发送短信的倒计时。包含功能倒计时时间超过一个小时显示 时:分:秒时间小于一小时显示:分 &#xff…

音视频常见问题分析和解决:延迟(时延 delay)和抖动

延迟和抖动 延迟:是网络传输中的一个重要指标,测量了数据从一个端点到另外一个端点所需的时间。一般我们用毫秒作为其单位。通常我们也把延迟叫做延时,但是延时有时还会表示数据包发送端到接受端的往返时间。这个往返时间我们可以通过网络监…

forkjoin_应用ForkJoin –从最佳到快速

forkjoin到目前为止,JDK 7已很好地掌握在开发人员手中,并且大多数人都听说过ForkJoin,但是没有多少人有时间或机会去尝试它。 它引起了并且可能仍然引起一些混乱,与普通线程池有什么不同。 [1] 我在本文中的目标是通过一个代码示…

android usb触摸屏驱动 win10,Win10手机居然这样兼容安卓:直接运行apk!

摘要:“应用太少是硬伤!”这是WP粉吐槽微软简洁而有力的一句话。最新的Win10Mobile预览版中首次引入了微软的安卓子系统,这也是微软推行的ProjectAstoria的一部分。那么Win10手机究竟要如何兼容安卓应用呢?微软最新一份招聘启事似…

Java应用程序中的验证

我经常看到的项目几乎没有任何有意识的数据验证策略。 他们的团队在截止日期,明确要求的巨大压力下工作,只是没有足够的时间以适当且一致的方式进行验证。 因此,数据验证代码随处可见:JavaScript片段,Java屏幕控制器&a…

升级鸿蒙系统如何退出,华为鸿蒙2.0系统升级了怎么退回EMUI11系统-操作教程详解...

华为鸿蒙2.0系统升级了怎么退回EMUI11系统?很多用户升级了又不知道如何才能退回到原来的系统,下面就让老铁下载小编为大家带来,2.0系统升级退回EMUI11系统操作教程详解。这次开启华为鸿蒙2.0系统手机开发者beta版公测招募的机型有华为P40 、P…

OpenFlow和SDN的历史和原理介绍

OpenFlow相关的历史、新闻:http://blog.csdn.net/jincm13/article/details/7825754 起源与发展 【https://36kr.com/p/5035985】   OpenFlow起源于斯坦福大学的Clean Slate项目组 [1] 。CleanSlate项目的最终目的是要重新发明英特网,旨在改变设计已略…

小米miuiVS华为鸿蒙,华为鸿蒙2.0 vs 小米MIUI 12.5

原标题:华为鸿蒙2.0 vs 小米MIUI 12.5不久前有媒体在视频中展示了鸿蒙2.0和苹果IOS14两个操作系统下App的启动速度,结果是鸿蒙2.0完胜IOS14。此后不久,该媒体发布了华为鸿蒙2.0和小米MIUI 12.5对比视频。同上次一样,这次依然是选择…

具有MicroProfile配置的可配置JAX-RS ExceptionMapper

当您使用JAX-RS创建REST服务时,通常要么不返回任何内容(例如HTTP 201/2/4等),要么返回某些数据(可能采用JSON格式(因此HTTP 200),或者返回某些异常/错误(例如HTTP 4xx或5…

Ad-hoc

Ad-hoc这个词来源于拉丁语,在百度上解释为“for this purpose only”,在wiki上解释为“for this”,其中文在wiki上被解释成包含特设的、特定目的的(地)、即席的、临时的、将就的、专案的”这么多种含义。在wireless ne…

android5.0 v4a,【图】多图讲解V4A提高G5音效详细步骤(G5音效可以更棒的)

首先感谢论坛前辈,看着你们介绍的方法,我把G5应有的音效搞出来了,效果提升非常明显。(看清了,如果不是非常明显,我也不会费这么大劲在这儿做讲解)。特记录和总结过程如下:1. 安装一键ROOT。2. 安装虚拟按…