VORONOI DIAGRAMS FOR PARALLEL HALFLINES IN 3D Franz Aurenhammer Institute for Theoretical Computer Science University of Technology, Graz, Austria
n point sites in the plane site p , region reg(p) of Voronoi diagram n point sites in the plane site p , region reg(p) of points closest to p Planar straight-line graph Convex partition of the plane Linear size, O(n) edges and vertices Several O(n log n) algorithms Applications in many areas of science (space partitioning data structure) Related to many other structures, numerous generalizations.
Different sites Line segments, polygons, circular objects… Still stays linear in size (planar graph) But bisectors may be complex Several construction techniques carry over (D&C, RIC…) Can be constructed in O(n log n) time
Generalized distance functions Lp norms Convex distance functions Weighted Euclidean distances Geodesic distances ….. Power function: Site weights w(p) (x - p)² - w(p) Gives the power diagram Bisectors are lines Special case: Voronoi diagram, w(p) = 0 O(n log n) time algorithms
Three dimensions 3D Voronoi diagram for point sites: Bisectors are planes Regions are convex polyhedra Size varies, from O(n) to quadratic Well-understood structure (by duality to convex hulls in 4D) Many construction algorithms Worst-case optimal (e.g., insertion method) Output-sensitive algorithms (via CHs in 4D, O((n+K) log² K) time)
Generalized sites in 3D: much more complicated... Spheres: (relation to PDs) O(n²) size Lines, line segments: size unclear, Ω(n²)... ~ O(n³) (envelope bound [Sharir] ) Complex bisectors arise: point/line, point/plane, line/plane, line/line ...
Restricted line segments: Constantly many orientations: almost quadratic, (2+ε) [Koltun/Sharir] Nice special case: parallel halflines in 3D Application: drilling industry (material stability, also geological) [I. Adamou, PhD Thesis, 2013] Relatively simple structure Simple algorithm, computing the combinatorics Output-sensitive, O(K log n), for size K Fortunate property: Bisectors behave nicely... 3D Straight skeleton (of a polytope) 'Defined' by a similar offsetting process Polytope facets/edges/vertices trace out the skeleton cells/facets/edges
3D Straight skeleton (of a polytope) Bisector properties: Plane - parabolic cylinder - plane Intersection with any horizontal plane H is a line! These lines meet 3-by-3 (as do the 3D bisectors) so: ∩ with H is a power diagram. Weights are: - [(z – zj)+]², z height of H, zj tip of halfline hj Reveals structural properties Enables plane-sweep construction in z-direction 3D Straight skeleton (of a polytope) 'Defined' by a similar offsetting process Polytope facets/edges/vertices trace out the skeleton cells/facets/edges
Plane-sweep algorithm: Start with z < min j zj ( ∩ with H is a Voronoi diagram) For increasing z: Update the power diagram (edges of PD... facets of 3D halfline diagram) Events are: ai anticipated ends of lifespans of edges ei in the current PD zj tip of halflines hj Number of events ai : bounded by the number K of 3D facets Number of events zj : only n, but involve O(K) updates of lifespans in total Runtime O(K log K) = O(K log n) … output-sensitive (no 3D objects involved…) 3D Straight skeleton (of a polytope) 'Defined' by a similar offsetting process Polytope facets/edges/vertices trace out the skeleton cells/facets/edges
3D Straight skeleton (of a polytope) Combinatorial size: Near-quadratic upper bound (O(1) orientations... [Koltun, Sharir]) Is the worst-case size only O(n²) ? Good properties: The lowest region is convex. Is its size O(n)? The intersection of any region with any vertical line is connected. (Each point in H enters (leaves) a power cell at most once) Trisector curves are connected and unbounded in z-direction (cycle-free). (Continuously moving PD vertex in H…) Bad property: Two trisector curves can intersect more than once. (so the O(n) bound for lower envelopes in [Schwartz/Sharir] does not apply) 3D Straight skeleton (of a polytope) 'Defined' by a similar offsetting process Polytope facets/edges/vertices trace out the skeleton cells/facets/edges
3D Straight skeleton (of a polytope) Trisector example: 4 halflines given: (triples define trisectors) Point on trisector = center of a sphere that touches 3 halflines 4 halflines can be touched by 2 different empty spheres [Widmayer] → two trisector curves can intersect in 2 points 3D Straight skeleton (of a polytope) 'Defined' by a similar offsetting process Polytope facets/edges/vertices trace out the skeleton cells/facets/edges
Dynamic power diagram: Sites stay fixed in the sweep-plane H Weights increase monotonically… Power edges move self-parallely: Constant position / constant acceleration / constant speed O(n²) potential power edges Can an edge, once having disappeared, come back again? If not, then each 3D bisector can yield only 1 facet… 3D Straight skeleton (of a polytope) 'Defined' by a similar offsetting process Polytope facets/edges/vertices trace out the skeleton cells/facets/edges
-Thank you-