ボロノイ線図と特定のエリアの領域との交点
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
yusuke kobayashi
el 24 de En. de 2019
Editada: yusuke kobayashi
el 26 de En. de 2019
ボロノイ線図を利用して、領域を区分けしたいと思っています。
ある領域(ここでは正方形にしています)と、ボロノイ線図の交点を計算したいのですが、
やり方がわかりません。どなたか知っていませんか?
0 comentarios
Respuesta aceptada
Tohru Kikawada
el 25 de En. de 2019
Editada: Tohru Kikawada
el 25 de En. de 2019
下記のようなイメージでしょうか。
%% ボロノイ図の作成
x = gallery('uniformdata',[1 10],0);
y = gallery('uniformdata',[1 10],1);
[vx,vy] = voronoi(x,y);
figure, plot(vx,vy,'b-')
axis equal;
axis([0 1 0 1]);
%% 正方形の領域定義
poly1 = polyshape([0.25 0.25 0.75 0.75],[0.75 0.25 0.25 0.75]);
hold on;
plot(poly1)
%% 正方形の辺とボロノイ図の辺の交点を検出
for k = 1:size(vx,2)
% 交点を検出
[in,out] = intersect(poly1,[vx(:,k) vy(:,k)]);
plot(in(:,1),in(:,2),'b',out(:,1),out(:,2),'r')
% 交点座標を抽出
if ~isempty(in) && ~isempty(out)
ind = ismember(in,out,'rows');
intxy = in(ind,:);
plot(intxy(1),intxy(2),'ro');
end
end
5 comentarios
Tohru Kikawada
el 25 de En. de 2019
yusuke kobayashi
el 26 de En. de 2019
Editada: yusuke kobayashi
el 26 de En. de 2019
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!