VoronoiGraph

Documentation for VoronoiGraph.

VoronoiGraph.adjacencyMethod

given vertices in generator-coordinates, collect the verts belonging to generator pairs, i.e. boundary vertices

source
VoronoiGraph.expected_verticesMethod

vertexheuristic(d, n)

expected number of vertices for n points in d dimensions c.f. [Dwyer, The expected number of k-faces of a Voronoi Diagram (1993)]

source
VoronoiGraph.mc_integrateFunction
mc_integrate(f::Function, i::Int, xs::Points, nmc=1000, nmc2=1000, searcher=Raycast(xs))

Integrate function f over cell i and its boundary using nmc rays per cell and nmc2 points per ray for the volume integral.

Returns:

  • Vf::Real: the volume integral of f
  • Af::SparseVector: Af[j] is the surface integral of f over the intersection between cells i and j.
  • V::Real: the volume of cell i
  • A::SparseVector: A[j] is the surface area of the intersection between cells i and j.
source
VoronoiGraph.mc_volumeFunction
mc_volume(i, xs, nmc, searcher)

Estimate the area and volume of the i-th Voronoi cell from the Voronoi Diagram generated by xs by a Monte Carlo estimate from random rays

source
VoronoiGraph.mc_volumesFunction
mc_volumes(xs::Points, nmc=1000)

Estimate the areas and volumes of the Voronoi Cells generated by xs using nmc Monte Carlo samples.

Returns

  • SparseMatrix: the areas of the common boundaries of two cells
  • Vector: the volumes of each cell
source
VoronoiGraph.mc_volumesFunction
mc_volumes(sig::Vertices, xs::Points, nmc=1000)

In the case when the simplicial complex is already known this information can be used to speed up the Monte-Carlo sampling by restricting the search space

source
VoronoiGraph.raycastMethod

shooting a ray in the given direction, find the next connecting point. This variant (by Poliaski, Pokorny) uses a binary search

source
VoronoiGraph.raycastMethod

Shooting a ray in the given direction, find the next connecting point. This variant uses an iterative NN search

source
VoronoiGraph.raycastMethod

shooting a ray in the given direction, find the next connecting point. This is the bruteforce variant, using a linear search to find the closest point

source
VoronoiGraph.transformationMethod

affine transformation rotatinig and translating such that the boundary is aligned with the first dimension. A->B will be mapped to const*[1,0,0,...] and (A+B)/2 to [0,0,...]

source