31.01.2014 Views

Version 5.0 The LEDA User Manual

Version 5.0 The LEDA User Manual

Version 5.0 The LEDA User Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ool<br />

Is Delaunay Diagram(const GRAPH & G, delaunay voronoi kind kind)<br />

checks whether G is a nearest (kind = NEAREST ) or furthest (kind =<br />

FURTHEST ) site Delaunay diagram of its vertex set. G is a Delaunay<br />

diagram if it is a convex subdivision, if the vertices of any bounded face<br />

are co-circular, and if every triangulation of G is a Delaunay triangulation.<br />

• Voronoi Diagrams<br />

void VORONOI(const list& L, GRAPH & VD)<br />

VORONOI takes as input a list of points (sites) L. It computes a directed<br />

graph V D representing the planar subdivision defined by the Voronoi<br />

diagram of L. For each node v of VD G[v] is the corresponding Voronoi<br />

vertex (point) and for each edge e G[e] is the site (point) whose Voronoi<br />

region is bounded by e. <strong>The</strong> algorithm has running time O(n 2 ) in the<br />

worst case and O(n log n) with high probability, where n is the number<br />

of sites.<br />

void F VORONOI(const list& L, GRAPH & FVD)<br />

computes the farthest point Voronoi Diagram FVD of the points in L.<br />

circle LARGEST EMPTY CIRCLE(const list& L)<br />

computes a largest circle whose center lies inside the convex hull of L<br />

that contains no point of L in its interior. Returns the trivial circle if L<br />

is empty.<br />

circle SMALLEST ENCLOSING CIRCLE(const list& L)<br />

computes a smallest circle containing all points of L in its interior.<br />

void ALL EMPTY CIRCLES(const list& L, list& CL)<br />

computes the list CL of all empty circles passing through three or more<br />

points of L.<br />

void ALL ENCLOSING CIRCLES(const list& L, list& CL)<br />

computes the list CL of all enclosing circles passing through three or more<br />

points of L.<br />

An annulus is either the region between two concentric circles or the region between two<br />

parallel lines.<br />

bool<br />

MIN AREA ANNULUS(const list& L, point& center, point& ipoint,<br />

point& opoint, line& l1 )<br />

computes the minimum area annulus containing the points of L. <strong>The</strong><br />

function returns false if all points in L are collinear and returns true<br />

otherwise. In the former case a line passing through the points in L is<br />

returned in l1 , and in the latter case the annulus is returned by its center<br />

and a point on the inner and the outer circle, respectively.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!