图论:Voronoi图

简介: 图论:Voronoi图

写在前面:

博主本人大学期间参加数学建模竞赛十多余次,获奖等级均在二等奖以上。为了让更多学生在数学建模这条路上少走弯路,故将数学建模常用数学模型算法汇聚于此专栏,希望能够对要参加数学建模比赛的同学们有所帮助。


1.Voronoi图介绍


Voronoi 图的又叫泰森多边形或Dirichlet 图,它是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成。


ad52e6621abd3bf557690d8566db1a4e_bedb70eb5b5046fc81772c1b356d20e7.png


Voronoi图将相邻两个生成元相连接,并且做出连接线段的垂直平分线,这些垂直平分线之间的交线就形成一些多边形,这样就把整个平面剖分成一些分区域,一个分区域只含有一个生成元,分区域内生成元的属性可以代替此分区域的属性,而且可以根据分区域的面积作为权重推测出该区域中生成元的平均水平。


若两个生成元的Voronoi 区域有公共边,就连接这两个点,以此类推遍历这n个生成元,可以得到一个连接点集S的唯一确定的网络,称为Delaunay 三角网格。


2. Voronoi图性质


(1)Voronoi图与Delaunay三角网格图对偶;


(2) Voronoi图具有局域动态性,即增加和删除一个生成元只影响相邻生成元的Voronoi区域;


(3)如果点 P在区域中,则P到各生成元的距离中,到生成元的距离最小;


(4)两个相邻Voronoi区域的公共边上任意一点到这两个区域的生成元距离相等;


(5)Voronoi 区域的顶点到邻近的生成元的距离相等,即与这个顶点有关的Voronoi区域的生成元共圆,称这个圆为最大空圆;


3.案例分析


例1 根据表中10个点的数据画出对应的Voronoi图及其对偶Delaunay三角网格图。


2beb8da50541ee805faebc92cc8c0631_17d7dccce5764a30b019bff5c335fd37.png


使用Matlab画图的结果如下:

d052aeb7464123db591d78a8b582d346_83ad13c575b94db3b100b258d1fa287a.png

0f6f9c853fe448d0894316370b8698e6_803dc82a9472401fba9f5587d8b6099b.png


画图的Matlab程序如下:


clc,clear
x=[0.9523 0.7621 0.6068 0.4567 0.2312 0.8866 0.7621 0.0185 0.4455 0.3369];
y=[0.9566 0.7041 0.6789 0.5674 0.8422 0.4432 0.2034 0.3421 0.8368 0.6666];
subplot(1,2,1);voronoi(x,y,'-k');%直接画voronoi图
axis([0,1,0,1]);title('Voronoi图');
subplot(1,2,2);plot(x,y,'.'),hold on
tri=delaunay(x,y) %生成delaunay三角剖分,每行是一个三角形的顶点索引
triplot(tri,x,y,'k-');%画delaunay三角形
axis([0,1,0,1]);title('Delaunay三角形');
hold off
figure;
[vx,vy]=voronoi(x,y);%生成voronoi图顶点的横坐标和纵坐标
plot(x,y,'kp',vx,vy,'k-');
axis([0,1,0,1]);hold on
triplot(tri,x,y,'b-');
title('对比图');

目录
相关文章
|
7月前
|
机器学习/深度学习 存储 人工智能
图搜索算法详解
【5月更文挑战第11天】本文介绍了图搜索算法的基础知识,包括深度优先搜索(DFS)、广度优先搜索(BFS)和启发式搜索(如A*算法)。讨论了图搜索中的常见问题、易错点及避免方法,并提供了BFS和A*的Python代码示例。文章强调了正确标记节点、边界条件检查、测试与调试以及选择合适搜索策略的重要性。最后,提到了图搜索在路径规划、游戏AI和网络路由等领域的应用,并概述了性能优化策略。
133 3
|
7月前
|
NoSQL 容器 消息中间件
图、图的遍历及图的拓扑排序
图、图的遍历及图的拓扑排序
|
算法 索引 Python
使用遗传算法解决图着色问题
图着色任务可以简单概括为:为图中的每个节点分配一种颜色,并保证相连接的节点对不会使用相同的颜色,同时,我们希望使用尽可能少的颜色。本文使用遗传算法解决图着色问题。
1884 0
使用遗传算法解决图着色问题
L2-023 图着色问题 (25 分)(图的遍历)
L2-023 图着色问题 (25 分)(图的遍历)
69 0
|
算法
|
算法
回溯法——图m染色问题
回溯法——图m染色问题
213 0
|
存储 算法 C++
C++实现图 - 03 最小生成树
这一讲来讲一个图中非常重要的内容 —— 最小生成树,在此之前我们先来回顾一下生成树的概念。
234 0
C++实现图 - 03 最小生成树
|
存储 算法 搜索推荐
C++实现图 - 05 拓扑排序
今天来讲另一个非常重要的知识点 —— 拓扑排序。咋一看好像是一个排序算法,然而它和排序扯不上半点关系,它可以用于判断我们的图中是否存在有向环。
644 0
C++实现图 - 05 拓扑排序
L2-023 图着色问题 (25 分)(图论)
L2-023 图着色问题 (25 分)(图论)
391 0

热门文章

最新文章