24小时热门版块排行榜    

查看: 2478  |  回复: 2

daihaipeng

木虫 (小有名气)

[求助] 如何用Matlab画出一般多边形内部的Voronoi图

大家好,

请问如何用Matlab画出一般多边形内部的Voronoi图。注意一般多边形可以有钝角,因此其内的Voronoi图会包括抛物线段(parabola)。除了要画出Voronoi图,我还希望能够得到构成Voronoi图的直线段和抛物线段的信息,由此来对每个cell做进一步分析。

更一般的,我想知道对平面上存在的点集和线段集,如何画它的Voronoi图呢?

假如Matlab不能胜任这一工作,有其它的软件适合用吗?

谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bafeite

铜虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
daihaipeng: 金币+1, 有帮助, 谢谢,不过Matlab提供的这些函数只针对点集,对线段集就没办法了,而我想要的是后者。 2012-04-28 17:58:24
xzhdty: 金币+1, 谢谢参与 2012-04-28 22:52:22
第一次听说“Voronoi图”这个东东,还好Matlab给出了不少与之相关的函数,如voronoi、voronoin、DelaunayTri等,你可以好好研究一下
CODE:
X = [ 0.5    0
      0      0.5
     -0.5   -0.5
     -0.2   -0.1
     -0.1    0.1
      0.1   -0.1
      0.1    0.1 ];
dt = DelaunayTri(X);
[V,R] = voronoiDiagram(dt);
for i=1:length(R)
if all(R{i}~=1)   
patch(V(R{i},1),V(R{i},2),i); % use color i.
end
end

2楼2012-04-28 16:02:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

uboat

银虫 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢参与 2012-04-28 22:52:34
Voronoi图如果是加权的可不好画,这个方面的信息地理信息系统用的不少
楼主可以搜索一下他们的论文看看
3楼2012-04-28 18:08:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 daihaipeng 的主题更新
信息提示
请填处理意见