Voronoi图矢量算法
- 格式:pdf
- 大小:851.19 KB
- 文档页数:84
路径规划的主要算法与展望-应用数学论文-数学论文——文章均为WORD文档,下载后可直接编辑使用亦可打印——摘要:路径规划算法是智能领域中一项新兴的关键支撑技术;依据路径规划算法的实现原理,将其分为进化型算法与非进化型算法;再依据数学特征将非进化型算法细分为经典数学与几何图论两类;针对每类算法,分别从发展背景、设计思想、优缺点、改进与发展等方面简要归纳分析;最后对路径规划算法的未来发展趋势进行展望。
关键词:路径规划; 进化型算法; 非进化型算法; 未来展望;Summary of Path Planning AlgorithmsLIANG Xiao-hui MU Yong-hui WU Bei-hua JIANG YuShijiazhuang Campus of Army Engineering UniversityAbstract:Path planning algorithm is an emerging key supporting technology in the field of intelligence; According to the implementation principle of path planning algorithm, it is divided into evolutionary algorithm and non-evolutionary algorithm; Then based on the mathematical characteristics, the non-evolutionary algorithm can be divided into two types: classical mathematics and geometric graph theory; For each type of algorithm, the paper will give a brief summary and analysis from some aspects: the background of development,design ideas, advantages and disadvantages, improvement. Finally the future development trend of the path planning algorithm is forecasted.0 引言路径规划(Path Planning)[1]是智能技术中的热点研究问题,已在多领域有所突破并成功得以应用。
维诺图(VoronoiDiagram)分析与实现一、问题描述1.Voronoi图的定义又叫泰森多边形或Dirichlet图,它是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成。
2.Voronoi图的特点(1)每个V多边形内有一个生成元;(2)每个V多边形内点到该生成元距离短于到其它生成元距离;(3)多边形边界上的点到生成此边界的生成元距离相等;(4)邻接图形的Voronoi多边形界线以原邻接界线作为子集。
3.Voronoi的应用在计算几何学科中的重要地位,由于其根据点集划分的区域到点的距离最近的特点,其在地理学、气象学、结晶学、航天、核物理学、机器人等领域具有广泛的应用。
如在障碍物点集中,规避障碍寻找最佳路径。
二、算法分析与设计Voronoi图有着按距离划分邻近区域的普遍特性,应用范围广。
生成V图的方法很多,常见的有分治法、扫描线算法和Delaunay三角剖分算法。
1.建立Voronoi图方法和步骤本次实验采用的是Delaunay三角剖分算法。
主要是指生成Voronoi图时先生成其对偶元Delaunay三角网,再找出三角网每一三角形的外接圆圆心,最后连接相邻三角形的外接圆圆心,形成以每一三角形顶点为生成元的多边形网。
如下图所示。
建立Voronoi图算法的关键是对离散数据点合理地连成三角网,即构建Delaunay三角网。
建立Voronoi图的步骤为:(1)离散点自动构建三角网,即构建Delaunay三角网。
对离散点和形成的三角形编号,记录每个三角形是由哪三个离散点构成的。
(2)计算每个三角形的外接圆圆心,并记录之。
(3)遍历三角形链表,寻找与当前三角形pTri三边共边的相邻三角形TriA,TriB和TriC。
(4)如果找到,则把寻找到的三角形的外心与pTri的外心连接,存入维诺边链表中。
如果找不到,则求出最外边的中垂线射线存入维诺边链表中。
(5)遍历结束,所有维诺边被找到,根据边画出维诺图。
Voronoi图定义任意两点p 和q 之间的欧氏距离,记作 dist(p, q) 。
就平面情况而言,我们有dist(p, q) = (px-qx)2+ (py-qy)2设P := {p1, …, pn}为平面上任意 n 个互异的点;这些点也就是基点。
按照我们的定义,所谓P对应的Voronoi图,就是平面的一个子区域划分——整个平面因此被划分为n 个单元(cell ),它们具有这样的性质:任一点q位于点pi 所对应的单元中,当且仅当对于任何的pj∈Pj, j≠i,都有dist(q, pi)<dist(q, pj)。
我们将与P对应的Voronoi图记作Vor(P)。
“Vor(P) ”或者“Voronoi图”所指示的仅仅只是组成该子区域划分的边和顶点。
在Vor(P)中,与基点pi 相对应的单元记作V (pi)——称作与pi 相对应的Voronoi单元(Voronoi cell)。
上图是Voronoi图,下图的蓝色点围成的区域(凸包)是它对应的Delaunay三角剖分。
任给平面上两点p 和q ,所谓 p 和q 的平分线(bisector),就是线段 pq 的垂直平分线。
该平分线将平面划分为两张半平面(half-plane)。
点 p 所在的那张开半平面记作 h(p, q) ,点 q 所在的那张开半平面记作 h(q, p) 。
请注意,r ∈ h(p, q) 当且仅当 dist(r, p) < dist(r, q) 。
据此,可以得出如下观察结论:V (pi) = ∩ h(pi, pj) , 1≤j≤n, j≠ i也就是说,V (pi)是(n-1)张半平面的公共交集;它也是一个(不见得有界的)开的凸多边形(convex polygon)子区域.很显然,Voronoi顶点到相邻的三个site距离相等;Voronoi边上任意一点到相邻的两个site距离相等;对于任何点q,我们将以q为中心、内部不含P中任何基点的最大圆,称作q关于P的最大空圆(largest empty circle ),记作Cp(q)。
GIS原理与算法第七章Voronoi图构建算法(based on Raster)2011.6主要内容预备知识并行生长算法传统距离变换动态距离变换算法栅格算法实例球面V的生成算法原理球面格网算法实例问题讨论??意义矢量算法对于点集十分有效,对于线集变得比较复杂,面状集则非常困难,推广到三维Voronoi图和球面Voronoi图的矢量算法则更为复杂。
算法的复杂性是Voronoi图在动态GIS模型中难以得到广泛应用的主要原因。
为解决这个矛盾,C.Gold & Yang[1992,1996]提出一个点线模型,即把复杂实体分解成点和直线,先构建点线的Voronoi图,再转换为实体的Voronoi 图。
意义•此方法的优点是结构简单,能直接建立实体的四边数据结构和容易处理区域实体的动态变化,•但是此方法缺乏数据的层次结构(即数据综合),难以从根本上解决海量数据的不同层次的综合表达。
扩展模板最简单的距离扩展模板是3×3的正方形模板,其距离扩张如图所示:扩展模板其他模版还有:菱形模版、棋盘模版、八边形模版等:只要上述a,b的取值满足1<b/a<2,那么它就是“欧氏距离”在平面栅格空间的一个整数近似。
(a) 菱形模版(b)棋盘模版(c)八边形模版不同的模板给出的栅格距离不同,如下图:对于这些距栅格VD定义栅格膨胀和腐蚀算子膨胀(dilation)和腐蚀(erosion)是数学形态学的两个基本算子。
A是原始影像,B是结构元。
定义如下:bBbbBbABAABA∈∈=Θ=⊕IU::腐蚀膨胀膨胀和腐蚀算子 膨胀和腐蚀原理:分解图(2)4、动态距离变换算法采用距离变换后,由于取整带来的误差,与欧氏距离之间的差异随距离的增大而增大,如下图:动态距离变换原理实验结果意义与研究现状由于现代测绘及相关技术的发展,人们研究的区域逐渐从局部区域发展到覆盖整个地球。
而地球本身就是一个近似的椭球体,研究球面Voronoi图的生成方法对于全球数据的动态管理和球面空间关系的推理有其重要的意义。
voronoi协方差法向量
Voronoi 协方差法向量是指在 Voronoi 图形的每个顶点处计算
的协方差矩阵的特征向量。
Voronoi 图形是指根据一组离散点将空
间分割成多个区域的图形。
在计算机图形学和计算机视觉中,Voronoi 协方差法向量通常用于表征三维模型表面的几何特征。
在计算 Voronoi 协方差法向量时,首先需要计算每个 Voronoi 区域的质心,然后以质心为中心计算协方差矩阵。
协方差矩阵是一
个对称矩阵,它描述了数据集中两个不同维度之间的线性关系。
对
协方差矩阵进行特征值分解,得到的特征向量即为 Voronoi 协方差
法向量。
Voronoi 协方差法向量在三维模型分割和特征提取中具有重要
作用。
通过计算每个 Voronoi 区域的协方差矩阵特征向量,可以获
得表面的法向量信息,这对于模型的分割和识别非常有帮助。
此外,Voronoi 协方差法向量也可以用于三维模型的压缩和简化,以及在
计算机辅助设计和计算机图形学中的应用。
总之,Voronoi 协方差法向量是一种用于表征三维模型表面几
何特征的方法,通过计算 Voronoi 区域的协方差矩阵特征向量,可
以得到模型表面的法向量信息,对于模型分割、特征提取和压缩具有重要意义。
Voronoi图扫描线算法的三维演示1.最近Voronoi图定义及性质Voronoi 图的定义:在平面上有N个独立的站点,而Voronoi图就是把平面分成N个子区域,每个站点都拥有自己的子区域,在这个区域中的任何点q到当前站点的距离比到其他站点的距离最短。
Voronoi 图的性质:图一图二如图一所示,站点与对应的Voronoi边上的点在与的垂直平分线上,以这个点为圆心的圆能够经过与并且圆内无其它站点。
如图二所示,如果一个点是Voronoi定点,则它至少经过三个站点,并且圆内无其它站点。
2.Voronoi图扫描线算法扫描线算法概述:1.通过水平线从上往下扫描站点;2.增量构造,跟踪每个站点对应的结构的变化。
扫描线算法待处理事件:1.如图三所示,图中的红色弧的序列为海岸线,是我们要跟踪处理的数据结构(组织成二叉树)。
图三2.图四中到两个站点及扫描线相等的点为分裂点,为海岸线结构中的重要成分,实际上为二叉树中的内点,而每条弧则为叶子节点。
图四3.图五和图六为两个连续的瞬间,图五中间的那条弧即将消失,取而代之的是Voronoi顶点。
它的两条边为分裂点生长而成。
图五图六我们所用的数据结构:1.用DCEL记录Voronoi图:图七Vertex:点的辅助信息bool inner; 表示该点是不是一个内部点(非边界点)vector<int> inTris; 记录该点所在的三角形号vector<int> inTrisOrd; 记录该点在相应三角形中的编号(只取0,1,2)int startHe; 该点起始半边编号int endHe; 该点终止半边编号(仅对边界点有效)HalfFace3:面辅助信息int he[3]; 记录一个面中三条半边号码HalfEdge:基础半边结构int fv; 起始点int tv; 终止点int fn; 面号int prev; 前一条半边int next; 后一条半边int opp; 对面相反的半边2.海岸线结构,也即是二叉树。
第七章
Voronoi图构建算法
(based on Vector)
2011.6
GIS原理与算法
Voronoi图
Voronoi图是计算几何中最重要的几何结构之一(紧次于凸壳),
它描述了对于一系实体集的邻近性问题。
邮局问题;
观测台问题;
学校(医院)问题;
Voronoi图
Voronoi图的概念是由Dirichlet在1850年首先提出; 俄国数学家Voronoi于1907年在文章中做了进一步阐述,并提出高次方程化简;
气象学家Thiessen在1911年为了提高大面积气象预报结果,应用Voronoi图对观测站进行划分观测区域(多边形);
为了纪念这些科学家的成就,这种结构被称为Dirichlet剖分或Voronoi图或Thiessen多边形。
主要内容
Definitions & Properties (定义和性质) Vector Algorithm (矢量算法)
Order-k VD (多阶VD)
Line and area VD (线和面的VD)
Minkowski metric VD (M度量VD)
Other Voronoi diagram (其他VD)
Applications (应用)
}i
Properties(1)
假设:集合S中,没有四点是共圆的。
Voronoi图是度数为三的正则图(图论),即:Voronoi图的每一个顶点恰好是图解的三条边的交点。
在S中,pi的每一个最邻近点确定一条Voronoi图多边形的一条边。
多边形V(i)是无界的当且仅当pi是集合S的凸壳的边界上的一个点。
对于S的Voronoi图的每一个顶点v,圆C(v)不包含S 的其它的点(最大空圆)。
Properties of D(p)& V(p)
Each Voronoi region
2、Vector Algorithm
•自Shamos和Hoey[1975]把Voronoi图作为一种有效的数据结构引入计算机领域,并成为计算几何领域的主要研究热点之一。
•许多学者对:
•平面点集Voronoi图的算法[Shamos & Hoey, 1975;
Hwang,1979; Lee,1980,………]
•平面特殊复杂实体的Voronoi算法,如线段
[Kirkpatrick, 1979]、线状或非交圆片状[Lee, 1981]、任意圆片状[Sharir,1985]、平面凸壳[Leven &
Sharir,1987]和曲线[Yap,1987] 等做了深入的研究,
并建立了许多有效的算法,
以上算法都是以离散点集算法为基础。
经典点
2.1 增量法(Incremental Method)
1.基本原理:
增量法
2. 边界问题
三点设置:
增量法
增量法
4.数据的层次组织
增量法
增量法
5.详细算法
增量法
2.2 分治法(Divide-and-conquer Method)
1.基本原理:
分治法
1.基本原理:
分治法
2.Assumptions & preprocess
•点按X坐标的增量排序,表示为:
•三个假设:
•Numerical computation is carry out in precise arithmetic;
•No four generators align on a common circle;
•No two generators align vertically.
分治法
3. 算法结构:
3.4
3.1
3.1
3.1
分治法
分治法
3.2
分治法
分治法
3.4
分治法
扫描法——预处理
扫描法——预处理
扫描法——算法
SDGF
扫描法
SDGF
扫描法
Complexity analysis:
扫描法-2
SDGF
SDGF
扫描法-2
扫描法-2
Sites event:
扫描法-2
Vertex events
扫描法-2
扫描法-2
Data structure:
At a site event a new edge starts to grow;
At a circle event two growing edges meet to form a vertex.
Two standard data structure :
An event queue;
A structure that represents the status of the sweep line;
1) Bounding box:
扫描法-2
2) The beach line is represented by a balanced binary search tree :
Its leaves correspond to the arcs;
It is x-monotone -----in an ordered manner;
Each leaf store the site that defines the arc it represents;
A breakpoint is stored at an internal node by an order tuple
of sites <pi, pj>;
扫描法-2
3) Detecting the circle events:
Two breakpoints in the consecutive triples not converge;
Even if a triple has converging breakpoints, the corresponding circle event need not take place----a false alarm;
The triple with the new arc being the middle one can never
cause a circle event;
扫描法-2。