Voronoi Diagram with Delaunay Triangulation overlay

2 ビュー (過去 30 日間)
Sean
Sean 2014 年 6 月 17 日
コメント済み: Sean 2014 年 6 月 18 日
If I have some Voronoi Diagram:
clc
clear all
close all
n=5
x=10*rand(1,n)
y=10*rand(1,n)
voronoi(x,y)
[vx vy] =voronoi(x,y)
close all
plot(x,y,'r+',vx,vy,'b-'); axis equal
figure(2)
for j=1:length(vx(1,:))
line([vx(1,j) vx(2,j)],[vy(1,j) vy(2,j)])
end
axis equal
How can I use the Delaunay Triangulation Matlab program (DelaunayTri) from the points created by the Voronoi Diagram, and to have the circles appear as in the attached link (most left image), or more like the interactions on the top of page 3 from the linked paper Animating Bubble Interactions in a Liquid Foam ? Delaunay Triangulation Image

採用された回答

Jason Nicholson
Jason Nicholson 2014 年 6 月 17 日
編集済み: Jason Nicholson 2014 年 6 月 17 日
Try this:
clc; clear all; close all;
n=5;
x = 10*rand(1, n);
y = 10*rand(1, n);
voronoi(x,y,'--k');
DT = DelaunayTri(x', y');
% use this in newer versions of matlab
% DT = delaunayTriangulation (x, y);
hold all;
triplot(DT,'k-');
[centers, radii] = DT.circumcenters();
theta = -pi:pi/20:pi;
for iCircle=1:size(centers,1)
xCircle = centers(iCircle,1) + radii(iCircle)*cos(theta);
yCircle = centers(iCircle,2) + radii(iCircle)*sin(theta);
plot(xCircle, yCircle, 'b-');
end
plot(x,y,'+k', 'MarkerSize', 12)
axis equal;
  2 件のコメント
Jason Nicholson
Jason Nicholson 2014 年 6 月 18 日
If this answers your question, please mark this as the correct answer. It helps my reputation points on MATLAB answers.
Sean
Sean 2014 年 6 月 18 日
It does. Cheers.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeVoronoi Diagram についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by