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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Computed by our software and visualized with Axl viewer.
- 2.
References
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
Aichholzer, O., Aurenhammer, F., Alberts, D., Gärtner, B.: A novel type of skeleton for polygons. J. Univ. Comput. Sci. 1, 752–761 (1995)
Aurenhammer, F., Walzl, G.: Straight skeletons and mitered offsets of nonconvex polytopes. Discrete Comput. Geom. 56(3), 743–801 (2016)
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.
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)
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
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
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
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)
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
Held, M., Palfrader, P.: Straight skeletons and mitered offsets of polyhedral terrains in 3D. J. Comput. Aided Des. Appl. 16, 611–619 (2018)
MartÃnez, J., Garcia, N.P., Anglada, M.V.: Skeletal representations of orthogonal shapes. Graph. Models 75(4), 189–207 (2013)
Papadopoulou, E., Lee, D.: The L\(_\infty \) Voronoi diagram of segments and VLSI applications. Int. J. Comput. Geom. Appl. 11(05), 503–528 (2001)
Schaefer, S., Warren, J.: Dual marching cubes: primal contouring of dual grids. Comput. Graph. Forum 24(2), 195–201 (2005)
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
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
Corresponding author
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.
-
(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 \)
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:
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}}. \)
-
(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 \)
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
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
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)