Voronoi diagram应用

本文介绍如何使用Voronoi图求解点集中最大空心圆的方法,并探讨了最小遍历树(MST)的计算过程,包括贪婪算法实现及Delaunay三角剖分在MST中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一个要讲的是使用Voronoi图来求解点集中的最大空心圆。下面先给出寻找最大空心圆这个问题的定义:

Find a largest empty circle whose center is in the convex hull of a set of n points, empty in that it contains no points in its interior, and largest in that there is no other circle with strictly larger radius.

这个问题一看就是要是在无限多个点中选择一个点。所以我们的方法很显然就是要先剔除一部分点,使我们的问题在有限多个点中进行寻找。

这时很显然只有在convex中的Voronoi点和Voronoi边喝convex的交点是候选点,于是我们只要在这些点中选择就行了。

关于为什么是这些点?可以看书(computational geometry in c),其实很自然就是那些点,主要不要忘了convex边和Voronoi边的交点和剔除那些在convex外的Voronoi点就行了。

 

第二个计算一个点击的最小遍历树(minimum spanning tree,MST),其中MST的定义:

a minimum spanning tree of a set of points is a minimum length tree that spans all the points: a shortest tree whose nodes are precisely those in the set.

一个原始的想法就是使用贪婪的算法。首先将所有的边的长度进行排序,然后从头开始加入到树中,保证没有环出现,直到所有的边都遍历过了。

一个很明显的问题就是对所有的边排序,这是一个很庞大的工程。于是和上面的应用的想法一样,我们选择从那些边中选择一些候选边。

一个引理,如果MST is subset of the Delaunay triangulation.这个问题的证明使用的是反证法,也就是存在一条边属于MST,但是不属于Delaunay triangulation,然后利用的是如果一条边ab不属于Delaunay triangulation,就存在一个圆包含a,b(ab是直径)的同时,一定还包含其他的点。由三角形的限制,其中的两条边会小于ab的长度,于是树如果通过连接到那个点而达到b,而不是a,这时树比原来的小,于是和命题的条件不符。如果看不懂,请阅读书computational geometry in c。

 

如果有任何疑问,发邮件至fire_fuxm@hotmail.com

转载于:https://www.cnblogs.com/USTC-fuxm/archive/2011/09/10/2172927.html

Voronoi Diagram Map是一种利用障碍物之间的空隙生成安全行驶路径的方法。它通过离散采、构建Voronoi diagram和消除与障碍物相交的边来生成可行驶路径集合。这种方法与图像的距离变换算法类似。\[1\] 在实现上,可以使用Python的scipy库中的spatial模块的Voronoi函数来构建Voronoi diagram。构建完成后,需要排除包含在障碍物内或与障碍物相交的顶和边,剩下的边就构成了避开所有障碍物的可行驶路径集合。\[1\] 如果你想了解更多关于Voronoi Diagram Map的实现代码,可以参考这个GitHub链接:https://github.com/AtsushiSakai/PythonRobotics/blob/master/PathPlanning/VoronoiRoadMap/voronoi_road_map.py。\[1\] Voronoi Diagram Map是一种常用的路径规划方法,它可以在避开障碍物的同时生成最大程度远离障碍物的安全行驶路径。它在机器人路径规划和自动驾驶等领域有广泛的应用。\[1\] #### 引用[.reference_title] - *1* [多边形、栅格图运用Voronoi_Diagram算法创建路径](https://blog.youkuaiyun.com/qq_33106851/article/details/113425776)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [1运动规划概述](https://blog.youkuaiyun.com/qq_37087723/article/details/112978515)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值