Class MultiplicativelyWeightedVoronoi
MWVDs are a generalisation of Voronoi diagrams where each site has a weight associated with it. These weights influence the boundaries between cells in the diagram. Instead of being equidistant from generator points, the boundaries are defined by the ratio of distances to the weighted generator points. This results in characteristically curved cell boundaries, unlike the straight line boundaries seen in standard Voronoi diagrams.
For two sites a,b the region of a's "dominance" over b is defined as the Apollonius circle made from a,b. This circle's perimeter represents the set of all points where the ratio of distances to a and b is equal to the ratio of their weights. The MWV cell for a site is then formed by the geometric intersection of all the Apollonius circles it forms with every other site in the diagram. In other words, it is the region where that site "dominates" (in terms of distance-weighting) all other sites.
The intersection of Apollonius circles provides a very good approximation to the geometrically "true" MWVD; this approach is considerably simpler both conceptually and in implementation than alternative approaches such as wavefront propagation.
- Author:
- Michael Carleton
-
Method Summary
Modifier and TypeMethodDescriptionstatic List<org.locationtech.jts.geom.Geometry>
getMWVFromPVectors
(List<processing.core.PVector> vectors, double[] bounds) Computes Multiplicatively Weighted Voronoi (MWV) diagram from a list of weighted points.
-
Method Details
-
getMWVFromPVectors
public static List<org.locationtech.jts.geom.Geometry> getMWVFromPVectors(List<processing.core.PVector> vectors, double[] bounds) Computes Multiplicatively Weighted Voronoi (MWV) diagram from a list of weighted points.- Parameters:
vectors
- List of PVectors where: x, y are coordinates of the site, and z is the weight.bounds
- [minX, minY, maxX, maxY] array defining the rectangular extent. for the voronoi diagram. This should enclose all points.- Returns:
- List of Polygons representing MWV regions.
-