Skip to main content

Voronoi Diagram of Orthogonal Polyhedra in Two and Three Dimensions

  • Conference paper
  • First Online:
Analysis of Experimental Algorithms (SEA 2019)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11544))

Included in the following conference series:

  • 709 Accesses

Abstract

Voronoi diagrams are a fundamental geometric data structure for obtaining proximity relations. We consider collections of axis-aligned orthogonal polyhedra in two and three-dimensional space under the max-norm, which is a particularly useful scenario in certain application domains. We construct the exact Voronoi diagram inside an orthogonal polyhedron with holes defined by such polyhedra. Our approach avoids creating full-dimensional elements on the Voronoi diagram and yields a skeletal representation of the input object. We introduce a complete algorithm in 2D and 3D that follows the subdivision paradigm relying on a bounding-volume hierarchy; this is an original approach to the problem. The complexity is adaptive and comparable to that of previous methods. Under a mild assumption it is \(O(n/ \varDelta + 1/\varDelta ^2)\) in 2D or \(O(n\alpha ^2/\varDelta ^2 +1/\varDelta ^3)\) in 3D, where n is the number of sites, namely edges or facets resp., \(\varDelta \) is the maximum cell size for the subdivision to stop, and \(\alpha \) bounds vertex cardinality per facet. We also provide a numerically stable, open-source implementation in Julia, illustrating the practical nature of our algorithm.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 69.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Computed by our software and visualized with Axl viewer.

  2. 2.

    https://gitlab.inria.fr/ckatsama/L_infinity_Voronoi/.

References

  1. Agarwal, P.K., de Berg, M., Gudmundsson, J., Hammar, M., Haverkort, H.J.: Box-trees and R-trees with near-optimal query time. Discrete Comput. Geom. 28(3), 291–312 (2002). https://doi.org/10.1007/s00454-002-2817-1

    Article  MathSciNet  MATH  Google Scholar 

  2. Aichholzer, O., Aurenhammer, F., Alberts, D., Gärtner, B.: A novel type of skeleton for polygons. J. Univ. Comput. Sci. 1, 752–761 (1995)

    MathSciNet  MATH  Google Scholar 

  3. Aurenhammer, F., Walzl, G.: Straight skeletons and mitered offsets of nonconvex polytopes. Discrete Comput. Geom. 56(3), 743–801 (2016)

    Article  MathSciNet  Google Scholar 

  4. Barequet, G., Eppstein, D., Goodrich, M., Vaxman, A.: Straight skeletons of three-dimensional polyhedra. In: Proceedings of the Twenty-fifth ACM Annual Symposium on Computational Geometry, pp. 100–101. ACM Press, Aarhus, Denmark, (2009). https://doi.org/10.1145/1542362.1542384.

  5. Bennett, H., Papadopoulou, E., Yap, C.: Planar minimization diagrams via subdivision with applications to anisotropic Voronoi diagrams. Comput. Graph. Forum 35(5), 229–247 (2016)

    Article  Google Scholar 

  6. Cheilaris, P., Dey, S.K., Gabrani, M., Papadopoulou, E.: Implementing the \(L_\infty \) segment voronoi diagram in CGAL and applying in VLSI pattern analysis. In: Hong, H., Yap, C. (eds.) ICMS 2014. LNCS, vol. 8592, pp. 198–205. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-44199-2_32

    Chapter  Google Scholar 

  7. Eder, G., Held, M., Palfrader, P.: Computing the straight skeleton of an orthogonal monotone polygon in linear time. In: European Workshop on Computational Geometry, Utrecht, March 2019. www.eurocg2019.uu.nl/papers/16.pdf

  8. Emiris, I.Z., Mantzaflaris, A., Mourrain, B.: Voronoi diagrams of algebraic distance fields. J. Comput. Aided Des. 45(2), 511–516 (2013). Symposium on Solid Physical Modeling 2012

    Article  MathSciNet  Google Scholar 

  9. Eppstein, D., Erickson, J.: Raising roofs, crashing cycles, and playing pool: applications of a data structure for finding pairwise interactions. Discrete Comput. Geom. 22, 58–67 (1998)

    MathSciNet  MATH  Google Scholar 

  10. Haverkort, H.J.: Results on geometric networks and data structures. Ph.D. thesis, Utrecht University (2004). http://igitur-archive.library.uu.nl/dissertations/2004-0506-101707/UUindex.html

  11. Held, M., Palfrader, P.: Straight skeletons and mitered offsets of polyhedral terrains in 3D. J. Comput. Aided Des. Appl. 16, 611–619 (2018)

    Article  Google Scholar 

  12. Martínez, J., Garcia, N.P., Anglada, M.V.: Skeletal representations of orthogonal shapes. Graph. Models 75(4), 189–207 (2013)

    Article  Google Scholar 

  13. Papadopoulou, E., Lee, D.: The L\(_\infty \) Voronoi diagram of segments and VLSI applications. Int. J. Comput. Geom. Appl. 11(05), 503–528 (2001)

    Article  MathSciNet  Google Scholar 

  14. Schaefer, S., Warren, J.: Dual marching cubes: primal contouring of dual grids. Comput. Graph. Forum 24(2), 195–201 (2005)

    Article  Google Scholar 

  15. Yap, C., Sharma, V., Jyh-Ming, L.: Towards exact numerical Voronoi diagrams. In: IEEE International Symposium on Voronoi Diagrams in Science and Engineering (ISVD), New Brunswick, NJ, June 2012

    Google Scholar 

Download references

Acknowledgements

We thank Evanthia Papadopoulou for commenting on a preliminary version of the paper and Bernard Mourrain for collaborating on software. Both authors are members of AROMATH, a joint team between INRIA Sophia-Antipolis (France) and NKUA.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Christina Katsamaki .

Editor information

Editors and Affiliations

Appendix A Omitted Proofs

Appendix A Omitted Proofs

Lemma 1. Let \(s\in \mathcal {S}\). For every point \(p \in V_\infty (s)\) it holds that \(\mu _\infty (p,s) = \mu _\infty (p, aff(s))\), where aff(s) is the affine hull of s.

Proof

Assume w.l.o.g. that \(s \subset \{ x\in \mathbb {R}^d \mid x_k = c \}\), \(k\in [d]\) and \(c \in \mathbb {R}\). If \(\mu _\infty (p,s) \ne \mu _\infty (p, \text {aff}(s))\), then \(\mu _\infty (p, s) = \inf \{ \max _{i\in [d]\setminus k}\{|p_i-q_i|\} \mid \forall q\in s\}\) and there is \(q\in \partial s\) such that \(\mu _\infty (p,s)=\mu _\infty (p,q)= |p_j-q_j| \), \(j\in [d]\setminus k \). To see this, suppose on the contrary that q is in the interior of s. Then, we can find \(q'\in s\) \(\varepsilon \)-close to q such that \(|p_j-q_j'|=|p_j-q_j|-\varepsilon \Rightarrow \mu _\infty (p,q') = \mu _\infty (p, q) - \varepsilon \), for any \(\varepsilon >0\). This leads to a contradiction. Therefore, there is a site \(s'\ne s\) with \(q\in s'\). Since \(p \in V_\infty (s)\), then \( \mu _\infty (p, s) < \mu _\infty (p, s') \le \mu _\infty (p, q)\); contradiction.    \(\square \)

Lemma 2. For every \(s \in S\) , \(\overline{V_\mathcal {D}(s)}\) is weakly star shaped with respect to s .

Proof

Let \(p \in \overline{V_\mathcal {D}(s)}\) and \(\rho = D_s(p)= \mu _\infty (p,q)\), \(q\in s\). The open ball \(B_\infty (p,\rho )\) centered at p with radius \(\rho \) is empty of sites. For \(t\in (0,1)\), let \(w= tp+(1-t)q\) on the line segment (p, q). Then, since for every \(i\in [d]\) it is \(|w_i-q_i| = t|p_i-q_i|\), it holds that \(w\in \mathcal {Z}^+(s)\) and \(D_s(w)= t\rho \). If \(w \not \in \overline{V_\mathcal {D}(s)}\) there is a site \(s'\) such that \(D_{s'}(w) < t\rho \). But \(B_\infty (w,t\rho ) \subset B_\infty (p,\rho )\) and \(s'\) intersects \(B_\infty (p,\rho )\), leading to a contradiction.    \(\square \)

Lemma 3. (a) The maximum degree of a Voronoi vertex is less than or equal to \(2^d d\) . (b) When \(d=2\) , a Voronoi vertex cannot have degree 7.

Proof

(a) Consider the vertex placed at the origin; \(2^d\) orthants are formed around the vertex. To obtain the maximum number of Voronoi regions in each orthant, we count the maximum number of Voronoi edges in the interior of an orthant that have this Voronoi vertex as endpoint; at most one such edge can exist in each orthant. Since these Voronoi edges are equidistant to d sites, result follows.

  1. (b)

    Let \(v^*= (x^*, y^*)\) be a Voronoi vertex of degree 7. Since 7 Voronoi edges meet at \(v^*\), due to symmetry, we examine the two cases of Fig. 11. When the configuration of Voronoi regions around the vertex is like in Fig. 11a, then \(s_1\) is a horizontal segment and \(s_2, s_7\) are vertical. Then, \(\text {aff}(s_2), \text {aff}(s_7) \subset \{(x,y) \in \mathbb {R}^2 \mid x > x^*\}\). Since \(v^*\in \mathcal {Z}^+(s_2) \cap \mathcal {Z}^+(s_7)\) and is equidistant to both \(s_2\) and \(s_7\), the affine hulls of \(s_2, s_7\) coincide. Then, whichever is the orientation of \(s_1\), the affine bisectors of \(s_1, s_2\) and \(s_1, s_7\) cannot meet like in Fig. 11a. When like in Fig. 11b, since \(b_3\) is vertical, \(s_1\) is vertical. But since \(b_1\) is horizontal, \(s_1\) must be horizontal; a contradiction.    \(\square \)

Fig. 11.
figure 11

The two cases in proof of Lemma 3.

Lemma 4. (a) For every cell \(\mathcal {C}\), \(\phi (\mathcal {C}) \subseteq \widetilde{\phi }(\mathcal {C})\).(b) For a sequence of cells \((\mathcal {C})_i\) monotonically convergent to point \(p\in \mathcal {P}\), \(\widetilde{\phi }(\mathcal {C}_i) = \phi (p)\) for i large enough.

Proof

(a) If \(\phi (\mathcal {C})= \emptyset \), assertion follows trivially. Let \(s\in \phi (\mathcal {C})\) and \(p\in \mathcal {C} \cap \overline{V_D(s)}\). It holds that \(D_s(p) \le D_{s'}(p) \Rightarrow \mu _\infty (p,s) \le \mu _\infty (p,s')\) for every \(s'\in \mathcal {S}\). We distinguish two cases according to the position of \(p_{_\mathcal {C}}\) relatively to \(\mathcal {P}\). If \(p_{_\mathcal {C}}\in \mathcal {P}\) and \(p_{_\mathcal {C}} \in \overline{V_{\mathcal {D}}(s^*)}\), then:

$$\begin{aligned} \mu _\infty (p_{_\mathcal {C}}, s)&\le \mu _\infty (p_{_\mathcal {C}}, p) +\mu _\infty (p,s) \le \mu _\infty (p_{_\mathcal {C}}, p) +\mu _\infty (p,s^*) \\&\le 2\mu _\infty (p_{_\mathcal {C}}, p) +\mu _\infty (p_{_\mathcal {C}},s^*) \le 2r_{_\mathcal {C}} +\mu _\infty (p_{_\mathcal {C}}, s^*). \end{aligned}$$

Otherwise, if \(p_{_\mathcal {C}}\not \in \mathcal {P}\), since \(\mathcal {C}\cap \mathcal {P}\ne \emptyset \), there is a site \(s'\) intersecting \(\mathcal {C}\) such that \(\mu _\infty (p,s') \le r_{_\mathcal {C}}\). Therefore, \( \mu _\infty (p_{_\mathcal {C}}, s) \le \mu _\infty (p_{_\mathcal {C}}, p) +\mu _\infty (p,s) \le \mu _\infty (p_{_\mathcal {C}}, p) +\mu _\infty (p,s') \le 2r_{_\mathcal {C}}. \)

  1. (b)

    There exists \(i_0\in \mathbb {N}\) such that for \(i \ge i_0\) \(\mathcal {C}_i\cap \mathcal {P} \ne \emptyset \). Therefore, for \(i\gg i_0\), since \(p_{_{\mathcal {C}_i}} \rightarrow p\) and \(r_{_{\mathcal {C}_i}} \rightarrow 0\), for every \(s \in \mathcal {C}_i\), (a) implies that \(s\in \lambda (p)=\phi (p)\). Since \(\phi (p) \subseteq \widetilde{\phi }(\mathcal {C}_i)\), result follows.    \(\square \)

Lemma 5. For a subdivision cell \(\mathcal {C}\), let \(v_1,\dots , v_4 \) its corner vertices. For \(s\in \mathcal {S}\), \(\mathcal {C}\subseteq V_{\mathcal {D}}(s)\) if and only if \(v_1,\dots , v_4 \in V_{\mathcal {D}}(s)\).

Proof

Let \(v_1,\dots , v_4 \in V_{\mathcal {D}}(s)\) and \(p \in \mathcal {C}\). Then, \(p \in \mathcal {Z}^+(s)\), since \(\mathcal {Z}^+(s)\) is convex in 2D and \(v_1,\dots , v_4 \in \mathcal {Z}^+(s)\). For \(i=1,\dots , 4\) the open ball \(B_i:=B_\infty (v_i, \mu _\infty (v_i, s))\) is empty of sites. Since \(B_\infty (p, \mu _\infty (p,\text {aff}(s))) \subset \cup _{i\in [4]} B_i \) it holds that \(\mu _\infty (p, \mathcal {P}) \ge \mu _\infty (p, \text {aff}(s)) = \mu _\infty (p, s)\). On the other hand, \(\mu _\infty (p, \mathcal {P}) \le \mu _\infty (p, s)\). So, if \(p \not \in V_{\mathcal {D}}(s)\) there is a site \(s'\) s.t. \(D_{s'}(p) = D_{s}(p)\) and \(p\in \mathcal {V}_\mathcal {D}(\mathcal {P})\). Therefore, since Voronoi regions are simply connected and Voronoi edges are straight lines, p must be on the boundary of \(\mathcal {C}\). The two possible configurations are shown in Fig. 12 and are contradictory; for the first, use an argument similar to that of Lemma 3(b) to show that the Voronoi edges separating the yellow-blue, and yellow-green Voronoi regions, cannot meet like in the Fig. 12a. For the second, notice that this cannot hold since the cell is square. We conclude that \(\mathcal {C}\subseteq V_{\mathcal {D}}(s)\). The other direction is trivial.    \(\square \)

Fig. 12.
figure 12

The two cases in proof of Lemma 5. Different colors correspond to different Voronoi regions. (Color figure online)

Lemma 6. Let \(s\in \mathcal {S}\), \(f_1,f_2\) the two facets of \(\mathcal {C}\) parallel to aff(s), \(\rho _i = \mu _\infty (f_i, {aff}(s))\) for \(i = 1,2\) and \(p_{_\mathcal {C}}' = pr_{{aff}(s)}(p_{_\mathcal {C}}).\) Then, \(\mathcal {Z}(s) \cap \mathcal {C} \ne \emptyset \) iff \(\exists i\in \{1,2\} s.t.\}\) \(B_\infty (p_{_\mathcal {C}}', r_{_\mathcal {C}}+\rho _i)\cap s \ne \emptyset \).

Proof

\(\mathcal {Z}(s) \cap \mathcal {C} \ne \emptyset \) iff \(\mathcal {Z}(s) \cap f_i \ne \emptyset \) for at least one \(i\in \{1,2\}\): Let \(p \in \mathcal {Z}(s) \cap C \) s.t. \(p \not \in f_1\cup f_2\) and \(\text {pr}_{f_i}(p)\) be the projection of p on \(f_i\). There exists \(i\in \{1,2\}\) s.t. \(\mu _\infty (\text {pr}_{f_i}(p), \text {aff}(s)) > \mu _\infty (p, \text {aff}(s))\). Then, \(\text {pr}_{f_i}(p) \in \mathcal {Z}(s)\).

It holds that \(\mathcal {Z}(s)\cap f_i \ne \emptyset \) iff \(B_\infty (p_{_\mathcal {C}}', r_{_\mathcal {C}}+\rho _i)\cap s \ne \emptyset \): Let \(q\in \mathcal {Z}(s)\cap f_i \) and \(q'\) its projection on \(\text {aff}(s)\). Then \(\mu _\infty (q', s) \le \mu _\infty (q,\text {aff}(s))= \rho _i\) and \(\mu _\infty (p_{_\mathcal {C}}',q') \le r_{_\mathcal {C}}\). We deduce that \(B_\infty (p_{_\mathcal {C}}', r_{_\mathcal {C}}+\rho _i)\cap s \ne \emptyset \), since \( \mu _\infty (p_{_\mathcal {C}}', s) \le \mu _\infty (p_{_\mathcal {C}}',q')+\mu _\infty (q',s) \le r_{_\mathcal {C}}+\rho _i. \) For the inverse direction, let \(B_\infty (p_{_\mathcal {C}}', r_{_\mathcal {C}}+\rho _i) \cap s \ne \emptyset \) and \(q'\) in s s.t. \(\mu _\infty (p_{_\mathcal {C}}',q') \le r_{_\mathcal {C}}+\rho _i\). Let q be its projection on \(\text {aff}(f_i)\). If \(q\in f_i\) we are done. Otherwise, q is at \(L_\infty \) distance from \(f_i\) equal to \(\mu _\infty (p_{_\mathcal {C}}', q') - r_{_\mathcal {C}}\), attained at a boundary point \(q''\in f_i\). Then, \( \rho _i \le \mu _\infty (q'',s) \le \mu _\infty (q'',q') = \max \{ \rho _i, \mu _\infty (p_{_\mathcal {C}}', q') - r_{_\mathcal {C}} \} = \rho _i. \) It follows that \(q'' \in \mathcal {Z}(s)\).    \(\square \)

Lemma 7. We denote by \(\mathcal {C}'\) the parent of \(\mathcal {C}\) in the subdivision. Using BVH accelerates the refinement of \(\mathcal {C}\) if \({|\widetilde{\phi }(\mathcal {C}')|} / {|\widetilde{\phi }(\mathcal {C})|} = \varOmega ( \lg n+t)\) .

Proof

A label set \(\lambda (p)\) is determined by performing a point and a rectangle-intersection query; once the point is detected to lie inside a rectangle \(R_0\) of a leaf \(T_0\) we find an initial estimation \(d_0\) of \(\mu _\infty (p,\mathcal {P})\). Since the closest site to p may be on another leaf, we do a rectangle-intersection query centered at p with radius \(d_0\). The closest site(s) to p are in the intersected leaves. Thus, finding \(\lambda (p)\) takes \(O(k(p,d_0)\lg r + k(p,d_0)t)\) (Theorem 3), where \(k(p,d_0)= O(1)\) is the number of BVH leaves intersected by \(\overline{B_\infty (p,d_0)}\). Computing the sites in \(\widetilde{\phi }(\mathcal {C})\) is accelerated if combined with a rectangle intersection query to find segments at \(L_\infty \)-distance \(\le 2r_{_\mathcal {C}}+\delta _{_\mathcal {C}}\) from \(p_{_\mathcal {C}}\). Let \(k_{_\mathcal {C}}\) be the number of BVH leaves intersected by this rectangle-intersection query. We obtain a total refinement time for the cell equal to \(O(k_{_\mathcal {C}}\lg r + k_{_\mathcal {C}}t)\). Since \(k_{_\mathcal {C}}= O(|\widetilde{\phi }(\mathcal {C})|)\) and \(r = O(n)\) the lemma follows.    \(\square \)

Lemma 8. Let \(\mathcal {C}\subseteq V_{\mathcal {D}}(s)\) . There is \(r^*>0\) s.t. \(r_{_{\mathcal {C}}}<r^*\) implies \(\widetilde{\phi }(\mathcal {C}) = \{s\}.\)

Proof

Let \(s' \in \mathcal {S}\setminus s\). We will prove that if \(\mathcal {Z}^+(s')\cap \mathcal {C} \ne \emptyset \), it holds that \(\delta _{_\mathcal {C}} < \mu _\infty (p_{_\mathcal {C}}, s')\). Therefore there is \(r(s')>0\) such that \(2r(s') +\delta _{_\mathcal {C}} < \mu _\infty (p_{_\mathcal {C}}, s')\). Let \(r^*\) be the minimum of these radii for every site different than s. When \(r_{_{\mathcal {C}}}<r^*\), it holds that \(\widetilde{\phi }(\mathcal {C}) = \{s\}.\)

Suppose that \(\delta _{_\mathcal {C}} = \mu _\infty (p_{_\mathcal {C}}, s') = \mu _\infty (p_{_\mathcal {C}}, q)\) for \(q\in s'\). We denote by \(v_1, \dots , v_4\) the vertices of \(\mathcal {C}\). Since \(\cup _{i\in [4]} B_\infty (v_i, \mu _\infty (v_i, s))\) is empty of sites, \(q\in \text {aff}(s)\). Also, \(s'\) cannot be a subset of \(\text {aff}(s)\), for \(p_{_\mathcal {C}}\) will be in \(\mathcal {Z}^+(s')\), a contradiction. So, \(s'\) is perpendicular and adjacent to s. By hypothesis \(\mathcal {Z}^+(s')\cap \mathcal {C} \ne \emptyset \) and since for adjacent sites it holds that \(\mathcal {Z}^+(s)\cap \mathcal {Z}^+(s') = \text {bis}_\mathcal {D}(s,s')\), the Voronoi face separating sites \(s,s'\) intersects \(\mathcal {C}\) which is a contradiction. Thus, there is no site \(s'\) with \(\mathcal {Z}^+(s')\cap \mathcal {C} \ne \emptyset \) and \(\mu _\infty (p_{_\mathcal {C}}, s')=\delta _{_\mathcal {C}}\).    \(\square \)

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Emiris, I.Z., Katsamaki, C. (2019). Voronoi Diagram of Orthogonal Polyhedra in Two and Three Dimensions. In: Kotsireas, I., Pardalos, P., Parsopoulos, K., Souravlias, D., Tsokas, A. (eds) Analysis of Experimental Algorithms. SEA 2019. Lecture Notes in Computer Science(), vol 11544. Springer, Cham. https://doi.org/10.1007/978-3-030-34029-2_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-34029-2_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-34028-5

  • Online ISBN: 978-3-030-34029-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics