Voronoi polygons distance between points
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
giometar
am 26 Jun. 2019
Kommentiert: giometar
am 9 Jul. 2019
Hello
I have set of 2D points and after creation of voronoi polygons I want to calculeate distance between poit from one polygone and all neighborhood points (as in picture). Blue dots are my 2D points
0 Kommentare
Akzeptierte Antwort
Matt J
am 26 Jun. 2019
Bearbeitet: Matt J
am 26 Jun. 2019
This returns the result as a distance matrix such as produced by pdist2, except that all entries not corresponding to neighboring points are set to NaN. Neighbors are defined as points whose Voronoi polygons share one or more (finite) vertices.
[V,C]=voronoin(points);
F=all(isfinite(V),2);
D=pdist2(points,points);
D(~common_vertex(C,F))=nan, %the result
function map = common_vertex(C,F)
n=numel(C);
map=false(n);
for i=1:n
for j=1:i-1
map(i,j)=any( F(intersect(C{i},C{j})) );
end
end
map=logical(map+map.');
map(1:n+1:end)=1;
end
4 Kommentare
Matt J
am 4 Jul. 2019
Bearbeitet: Matt J
am 4 Jul. 2019
hope that is correct way
Only you can know if it serves your needs, but I'm not sure it is equivalent to the neighborhood analysis you were originally pursuing. It assumes that points belonging to a common Delaunay triangle always occupy neighboring Voronoi poygons, and I'm not sure that's true.
Weitere Antworten (0)
Siehe auch
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!