Voronoi图及matlab实现

[题外话:想一想真是...美赛时我预测求爱尔兰的充电站位置分布,画Voronoi图,程序跑了一个小时...]

Voronoi图,又叫泰森多边形或Dirichlet图,它是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成。N个在平面上有区别的点,按照最邻近原则划分平面;每个点与它的最近邻区域相关联。Delaunay三角形是由与相邻Voronoi多边形共享一条边的相关点连接而成的三角形。Delaunay三角形的外接圆圆心是与三角形相关的Voronoi多边形的一个顶点。

对于点集

里的种子点

,它的Voronoi区域

定义为:

mpt工具箱下载:链接:https://pan.baidu.com/s/1pLWu2Rx 密码:50wd

导入matlab工具箱百度经验:https://jingyan.baidu.com/article/17bd8e52109dfe85ab2bb898.html

示例matlab代码:(在指定平面范围内随机分配20个点,用mpt工具箱画出维诺图)

1 X = 200*rand(1,20);
2 Y = 100*rand(1,20);
3 Options.plot=1;
4 v=[0 0;0 100;200 100;200 0];
5 P = polytope(v);
6 Options.pbound=P;
7 mpt_voronoi([X‘ Y‘],Options);
8 voronoi(X,Y);

voronoi.m

图示:

原文地址:https://www.cnblogs.com/GraceSkyer/p/8448452.html

时间: 2024-11-08 12:07:57

Voronoi图及matlab实现的相关文章

OpenCV生成点集的Delaunay剖分和Voronoi图

实现内容: 设置一副图像大小为600*600,图像像素值全为0,为黑色. 在图像中Rect(100,100,400,400)的区域随机产生20个点,并画出. 产生这些点集的Delaunay剖分和Voronoi图,并画出. 程序 #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> using namespace cv; using

Java调用AE实现创建泰森多边形(voronoi图)

在网上搜索 AE 创建泰森多边形,都是基于VB或者C#的, 鉴于C#和Java相近,就将C#的代码翻译成Java, 但修改后的程序运行无结果, 经多次尝试,设置了addFromFeatureClass方法的第三个参数,终于获得了泰森多边形. 现把代码共享,如下: public void CreatVoronoi(IFeatureClass pointFeaCls,IFeatureClass voronoiFeaCls,IPolygon clippingPolygon){ try { if (po

Voronoi图简介及C语言实现

Voronoi图广泛应用在几何学.地理学.晶体学.信息系统等学科之中.Voronoi图是由图中各个相邻点连线的中垂线组成的连续多边形组成.图中的各个点归属于该点最邻近的多边形,入下图所示: Voronoi图相应的C语言实现代码如下: #include <stdio.h> #include <stdlib.h> #include <string.h> #define N_SITES 150 double site[N_SITES][2]; unsigned char rg

Voronoi图和Delaunay三角形和凸包

写一下最近写的一点东西... 最近在上算法课,上课老师讲到了维诺图,自己觉得很有意思就研究了一下,并用java写了一个简单的se程序用来显示维诺图和Delaunay三角形还有凸包. 首先介绍一下凸包,凸包在数学里是很常见的,给定一些点,然后找出包含这些的最小凸包,一般是这么做的.至于凸包的定义维基百科或者百度都行,自己查一查就知道,通俗的讲就是延长每一条边,剩下的图形总在边的一边. (界面有点丑) 这边给出一下我程序运行出来的凸包 然后是Delaunay三角形,这个三角形是这样的,可以在凸包里面

一维信号频谱图仿真——matlab

程序1: %在MATLAB中是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当采样时间间隔足够小时,这些离散的采样值就能较好地近似出连续信号,matlab中连续信号的显示实际上还是离散信号的显示,只是取样点特别 %多的时候,用线连接起来,显示出来的图形就比较圆滑,接近连续信号:如果取样点特别少,连接起来就会变成折线: clear all; %这个其实可以没有,只不过以前出过问题,现在就加上! N=1024; %这个是你举得信号的点数,随便你了 fs=16000; %这个是抽样频率,记得要

MATLAB在一张图上画出多条曲线

在matlab中,经常遇到画图问题,甚至,有时候需要把其他软件中的数据,导出来,用matlab处理. 此处给出,用matlab处理数据的一些简单方法. 参考资料: MATLAB多条曲画到一张图上 MATLAB plot画出多条不同颜色的曲线 原文地址:https://www.cnblogs.com/Aaron12/p/9938695.html

(转载)MatLab绘图

转载自:http://www.cnblogs.com/hxsyl/archive/2012/10/10/2718380.html 转载自:http://www.cnblogs.com/jeromeblog/p/3396494.html plot选项: 一 基础功能 二维图形 一. plot函数① 函数格式:plot(x,y)  其中x和y为长度相同                     坐标向量     函数功能:以向量x.y为轴,绘制曲线. [例] 在区间0≤X≤2?内,绘制正弦曲线y=si

Matlab绘图高级部分

转载自:http://www.cnblogs.com/jeromeblog/p/3396494.html 图形是呈现数据的一种直观方式,在用Matlab进行数据处理和计算后,我们一般都会以图形的形式将结果呈现出来.尤其在论文的撰写中,优雅的图形无疑会为文章加分.本篇文章非完全原创,我的工作就是把见到的Matlab绘图代码收集起来重新跑一遍,修改局部错误,然后将所有的图贴上来供大家参考.大家可以先看图,有看中的可以直接把代码Copy过去改成自己想要的. 1 2 3 4 5 6 7 8 9 10 1

matlab 数据可视化

视觉是人们感受世界.认识自然的最重要依靠.数据可视化的目的在于:通过图形,从一堆杂乱的离散数据中观察数据间的内在关系,感受由图形所传递的内在本质.MATLAB一向注重数据的图形表示,并不断地采用新技术改进和完备其可视化功能.  本章将系统地阐述:离散数据表示成图形的基本机理:曲线.曲面绘制的基本技法和指令:特殊图形的生成和使用示例:如何使用线型.色彩.数据点标记凸现不同数据的特征:如何利用着色.灯光照明.反射效果.材质体现和透明度处理渲染.烘托表现高维函数的性状:如何生成和运用标识,画龙点睛般地