# How to match voronoi area to it's point

5 Ansichten (letzte 30 Tage)
Amit Ifrach am 18 Aug. 2021
Kommentiert: Bjorn Gustavsson am 18 Aug. 2021
לק"י
Hi!
I'm trying to find a command or a code that can match the voronoi areas I get out from voronoin command to the points they enclose. I use oast of KSSV's code, so if it seems fermiliar, it's from him.
thanks!
that's the code:
[v,c] = voronoin([xroi yroi]) ;
vorareaacd45num10thin1st = zeros(length(c),1) ;
for i = 1:length(c)
v1 = v(c{i},1) ;
v2 = v(c{i},2) ;
vorarea(i) = polyarea(v1,v2) ;
end
##### 2 Kommentare1 älteren Kommentar anzeigen1 älteren Kommentar ausblenden
Bjorn Gustavsson am 18 Aug. 2021
The way I recall the Voronoi-boundaries are built from the line-segments prependicular to the midpoints of the Delaunay-triangulation-edges (normals halfway on the nearest-neighbour-lines, so the dual of the Delaunay-triangulation). If you could share a typical image it might be easier to modify your aproach?

Melden Sie sich an, um zu kommentieren.

### Antworten (1)

Bjorn Gustavsson am 18 Aug. 2021
The way I interpret your question each point [xroi,yroi] will be inside one Voronoi-cell (though my QD-tests leave a couple of edge-points outside the Voronoi-cells?). It should be possible to find out which by using inpolygon:
for i1 = length(c):-1:1
v1 = v(c{i1},1);
v2 = v(c{i1},2);
idx = find(inpolygon(xroi,yroi,v1,v2));
if ~isempty(idx)
idxXYinCellj(i1) = idx(1);
end
if numel(idx) > 1
disp(['Cell ',num2str(i1),' contains ',num2str(numel(idx)),' points?'])
end
end
HTH
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Voronoi Diagram finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!