Skip to main content
Log in

(\(\delta ,{\varepsilon }\))-Ball Approximation of a Shape: Definition and Complexity

  • Published:
Discrete & Computational Geometry Aims and scope Submit manuscript

Abstract

Given a set S in \(\mathbb {R}^n\), a \((\delta ,\varepsilon )\)-ball approximation of S is defined as a collection of balls that covers the morphological erosion of S (by a ball of radius \(\varepsilon \)) and remains inside the morphological dilation of S (by a ball of radius \(\delta \)). We study the problem of computing a \((\delta ,\varepsilon )\)-ball approximation when S is itself defined as a finite union of balls. This problem relates to geometric set cover problems but is however different in nature. It offers a new framework for reducing the size of a collection of balls while controlling both the inner and outer distance to the shape. We prove that computing a \((\delta ,\varepsilon )\)-ball approximation of minimum cardinality is NP-complete for \(n = 2\). Along the way, we study the boundary of unions of disks and their erosion, for which we derive a computational description.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. A set S is called r-regular if \(S = (S^{\ominus r})^{\oplus r} = (S^{\oplus r})^{\ominus r}\) [33]. In other words, the shape S is r-regular if it does not change neither under a morphological opening nor a morphological closing by a ball of radius r.

  2. See the Geogebra file http://www.gipsa-lab.fr/~isabelle.sivignon/Code/degree-three_vertex_gadget_forall_delta.ggb that provides a parameterized construction for any value of \(\delta \) and \(\varepsilon \) with \(\delta +\varepsilon >0\).

References

  1. Agarwal, P.K., Pan, J.: Near-linear algorithms for geometric hitting sets and set covers. In: Proceedings of the 30th Annual Symposium on Computational Geometry (SOCG’14), pp. 271–279. ACM, New York (2014)

  2. Amenta, N., Kolluri, R.K.: Accurate and efficient unions of balls. In: Proceedings of the 16th Annual Symposium on Computational Geometry (SCG’00), pp. 119–128. ACM, New York (2000)

  3. Attali, D., Boissonnat, J.-D., Edelsbrunner, H.: Stability and computation of medial axes: a state-of-the-art report. In: Möller, T., Hamann, B., Russell, R.D. (eds.) Mathematical Foundations of Scientific Visualization, Computer Graphics, and Massive Data Exploration, pp. 109–125. Springer, Berlin (2009)

    Chapter  Google Scholar 

  4. Berberich, E., Eigenwillig, A., Hemmer, M., Hert, S., Mehlhorn, K., Schömer, E.: A computational basis for conic arcs and boolean operations on conic polygons. In: Möhring, R., Raman, R. (eds.) Algorithms—ESA 2002. Lecture Notes in Computer Science, vol. 2461, pp. 174–186. Springer, Berlin (2002)

    Chapter  Google Scholar 

  5. Bradshaw, G., O’Sullivan, C.: Adaptive medial-axis approximation for sphere-tree construction. ACM Trans. Graph (TOG) 23(1), 1–26 (2004)

    Article  Google Scholar 

  6. Brönnimann, H., Goodrich, M.T.: Almost optimal set covers in finite VC-dimension. Discrete Comput. Geom. 14(4), 463–479 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  7. Broutta, A., Coeurjolly, D., Sivignon, I.: Hierarchical discrete medial axis for sphere-tree construction. In: Wiederhold, P., Barneva, R.P. (eds.) Combinatorial Image Analysis. Lecture Notes in Computer Science, vol. 5852, pp. 56–67. Springer, Berlin (2009)

    Chapter  Google Scholar 

  8. Cabello, S., De Berg, M., Giannopoulos, P., Knauer, C., Van Oostrum, R., Veltkamp, R.C.: Maximizing the area of overlap of two unions of disks under rigid motion. Int. J. Comput. Geom. Appl. 19(6), 533–556 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  9. Calamoneri, T., Petreschi, R.: An efficient orthogonal grid drawing algorithm for cubic graphs. In: Du, D.-Z., Li, M. (eds.) Computing and Combinatorics. Lecture Notes in Computer Science, vol. 959, pp. 31–40. Springer, Berlin (1995)

    Chapter  Google Scholar 

  10. Cazals, F., Dreyfus, T., Sachdeva, S., Shah, N.: Greedy geometric algorithms for collection of balls, with applications to geometric spproximation and molecular coarse-graining. Comput. Graph. Forum 33(6), 1–17 (2014)

    Article  Google Scholar 

  11. Chaussard, J., Couprie, M., Talbot, H.: Robust skeletonization using the discrete \(\lambda \)-medial axis. Pattern Recognit. Lett. 32(9), 1384–1394 (2011)

    Article  Google Scholar 

  12. Chazal, F., Lieutier, A.: The \(\lambda \)-medial axis. Graph. Models 67(4), 304–331 (2005)

    Article  MATH  Google Scholar 

  13. Chvatal, V.: A greedy heuristic for the set-covering problem. Math. Oper. Res. 4(3), 233–235 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  14. Coeurjolly, D., Montanvert, A.: Optimal separable algorithms to compute the reverse Euclidean distance transformation and discrete medial axis in arbitrary dimension. IEEE Trans. Pattern Anal. Mach. Intell. 29(3), 437–448 (2007)

    Article  Google Scholar 

  15. Culver, T., Keyser, J., Manocha, D.: Accurate computation of the medial axis of a polyhedron. In: Proceedings of the 5th ACM Symposium on Solid Modeling and Applications (SMA’99), pp. 179–190. ACM, New York (1999)

  16. de Rezende, P.J., Miyazawa, F.K., Sasaki, A.T.: A PTAS for the disk cover problem of geometric objects. Oper. Res. Lett. 41(5), 552–555 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  17. Dey, T.K., Zhao, W.: Approximate medial axis as a Voronoi subcomplex. Comput. Aid. Des. 36(2), 195–202 (2004)

    Article  Google Scholar 

  18. Edelsbrunner, H., Koehl, P.: The geometry of biomolecular solvation. In: Goodman, J.E., Pach, J., Welzl, E. (eds.) Combinatorial and Computational Geometry. Mathematical Sciences Research Institute Publications, vol. 52, pp. 243–275. Cambridge University Press, Cambridge (2005)

    Google Scholar 

  19. Federer, H.: Curvature measures. Trans. Am. Math. Soc. 93, 418–491 (1959)

    Article  MathSciNet  MATH  Google Scholar 

  20. Feinauer, J., Spettl, A., Manke, I., Strege, S., Kwade, A., Pott, A., Schmidt, V.: Structural characterization of particle systems using spherical harmonics. Mater. Charact. 106, 123–133 (2015)

    Article  Google Scholar 

  21. Fejes Tóth, G.: Packing and covering. In: Goodman, J.E., O’Rourke, J. (eds.) Handbook of Discrete and Computational Geometry, 2nd edn. Chapman & Hall/CRC, Boca Raton (2004)

    Google Scholar 

  22. Garey, M.R., Johnson, D.S.: The rectilinear Steiner tree problem is NP-complete. SIAM J. Appl. Math. 32(4), 826–834 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  23. Har-Peled, S.: Geometric Approximation Algorithms. Mathematical Surveys and Monographs, vol. 173. American Mathematical Society, Providence (2011)

  24. Hatcher, A.: Algebr. Topol. Cambridge University Press, Cambridge (2002)

    Google Scholar 

  25. Hubbard, P.M.: Collision detection for interactive graphics applications. IEEE Trans. Vis. Comput. Graph. 1(3), 218–230 (1995)

    Article  Google Scholar 

  26. Hubbard, P.M.: Approximating polyhedra with spheres for time-critical collision detection. ACM Trans. Graph. (TOG) 15(3), 179–210 (1996)

    Article  Google Scholar 

  27. Johnson, D.S.: Approximation algorithms for combinatorial problems. Comput. Syst. Sci. 9(3), 256–278 (1974)

    Article  MathSciNet  MATH  Google Scholar 

  28. Kershner, R.: The number of circles covering a set. Am. J. Math. 61, 665–671 (1939)

    Article  MathSciNet  MATH  Google Scholar 

  29. Miklos, B., Giesen, J., Pauly, M.: Discrete scale axis representations for 3D geometry. ACM Trans. Graph. (TOG) 29(4), 101 (2010)

    Article  Google Scholar 

  30. Nguyen, T.-B., Sivignon, I.: Epsilon-covering: a greedy optimal algorithm for simple shapes. In: Canadian Conference on Computational Geometry, Vancouver, pp. 187–194 (2016)

  31. Pach, J. (ed.): New Trends in Discrete and Computational Geometry. Algorithms and Combinatorics, vol. 10. Springer, Berlin (2012)

  32. Ranjan, V., Fournier, A.: Matching and interpolation of shapes using unions of circles. Comput. Graph. Forum 15(3), 129–142 (1996)

    Article  Google Scholar 

  33. Serra, J.: Image Analysis and Mathematical Morphology, vol. 1. Academic Press, New York (1982)

    MATH  Google Scholar 

  34. Wein, R., Zukerman, B.: Exact and efficient construction of planar arrangements of circular arcs and line segments with applications. Tech. Rep. ACS-TR-121200-01. Tel Aviv University (2006)

  35. Wein, R., Berberich, E., Fogel, E., Halperin, D., Hemmer, M., Salzman, O., Zukerman, B.: 2D Arrangements. CGAL: Computational Geometry Algorithms Library

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Isabelle Sivignon.

Additional information

Editor in Charge: Kenneth Clarkson

Research partially supported by the French “Agence nationale pour la Recherche” under grants ANR-13-BS01-0008 TopData. Also partially supported by the French program “Grenoble Innovation Recherche” 2014 from Université Grenoble Alpes and Grenoble INP.

Appendices

Appendix A: An Alternative Way to Check Set Inclusion

In this appendix, we provide an alternative polynomial time algorithm to check whether the erosion of a finite collection of disks is contained into the union of a finite collection of disks (see Sect. A.3. The algorithm relies on a characterization of the inclusion of one set into another. We give first a very general formulation (Lemma A.1) before proposing a specialization to our case (Lemma A.2).

1.1 A.1 A Very General Result

We start by proving a very general result to characterize the inclusion of one set into another one. We assume very little on the two sets, only that they are subsets of a connected topological space. We show that it suffices to test “local” inclusions at the boundary points of the two sets.

Lemma A.1

Let A and \(X \ne \emptyset \) be two subsets of a connected topological space. If

  1. (i)

    \(\partial A\subseteq \overline{ X }\)

  2. (ii)

    \(\forall x\in \partial X\), \(\exists \, N_x\) an open neighbourhood of x such that \(N_x\cap A\subseteq X\)

then \(A\subseteq X\).

Proof

Letting \(H=A\cap X^\mathsf {c} \), we prove the lemma in two stages:

(a) First, we prove that \(\partial H\subset \partial X\). Using \(\partial (A \cap B) \subseteq ( \partial A \cap \overline{ B }) \cup ( \overline{ A } \cap \partial B)\) and plugging \(B = X^\mathsf {c} \), we get \(\partial H \subseteq (\partial A\cap \overline{ X^\mathsf {c} }) \cup ( \overline{ A }\cap \partial X^\mathsf {c} )\). Since \(\partial A\subseteq \overline{ X }\) and \(\partial X^\mathsf {c} = \partial X\), we deduce \(\partial H\subseteq \partial X\).

(b) Second, we prove that \(H=\emptyset \). Suppose for a contradiction that \(H \ne \emptyset \). Since X is not empty, \( X^\mathsf {c} \) is not the entire topological space, so that H cannot be the entire topological space neither. Thus, \(\partial H \ne \emptyset \) and we can pick a point \(x \in \partial H\). Because \(\partial H\subset \partial X\), we can apply (ii) on point x, showing that there is \(N_x\) a neighbourhood of x such that \(N_x\cap A\subseteq X\). Since \(x\in \partial H\), necessarily \(N_x\cap H\ne \emptyset \). However, \(N_x\cap H = N_x\cap A\cap X^\mathsf {c} \subseteq X\cap X^\mathsf {c} =\emptyset \), yielding a contradiction. \(\square \)

1.2 A.2 Specialization to Finite Union of Disks

We now give a specialized version of Lemma A.1 in which one of the sets is a finite union of disks.

Lemma A.2

Let A be a bounded subset of \(\mathbb {R}^2\) and consider \(X=\bigcup \mathscr {X}\) a finite union of disks. Let \(\mathscr {V}\) be the collection of vertices of \(\partial X\). If

  1. (i)

    \(\partial A\subseteq X\)

  2. (ii)

    \(\forall v\in \mathscr {V}\), \(\exists \, N_v\) an open neighborhood of v such that \(N_v\cap A\subseteq X\)

then \(A\subseteq X\).

Recall that a hole of a subset is a bounded connected component of its complement. The proof of the previous lemma relies on the following technical lemma.

Lemma A.3

Let H be a hole of a finite union of disks S, and \(\mathscr {V}\) the collection of vertices of \(\partial S\). We have \(\partial H\cap \mathscr {V}\ne \emptyset \).

Proof

Let \(\mathscr {S}\) be a collection of disks such that \(S=\bigcup \mathscr {S}\). Without loss of generality, we assume that \(\forall b\in \mathscr {S}\), \(\partial b\cap \partial H\ne \emptyset \). Indeed, by removing any disk that does not contribute to the boundary of H, the resulting union of disks still admits H as a hole. Notice that \(\partial H\subseteq \partial S\). In fact, the boundary of H is formed by vertices and edges of \(\partial S\). By contradiction, assume there are no vertices in \(\partial H\). Then \(\partial H\) must be a union of complete circular arcs, thus disks in \(\mathscr {S}\) cannot intersect one another. S is a union of disjoint disks and \( S^\mathsf {c} \) has only one connected component by Alexander Duality Theorem [24]. This connected component is unbounded, contradicting the existence of H. \(\square \)

Proof of Lemma A.2

Let \(H=A\cap X^\mathsf {c} \). The scheme of the proof is similar to the proof of Lemma A.1, with only one extra stage in the middle:

  1. (a)

    First, we prove that \(\partial H\subset \partial X\). For this, we proceed as in the first stage of the proof of Lemma A.1.

  2. (b)

    Second, we prove that H is either empty or a union of holes of X. The proof is given below.

  3. (c)

    Last, we prove that \(H = \emptyset \). For this, we proceed as in the last stage of the proof of Lemma A.1, with the only difference being that we pick a point x on \(\partial H\) among vertices of \(\partial X\). This is always possible thanks to Lemma A.3 (stated above).

It remains to prove that H is either empty or a union of holes of X. Suppose \(H \ne \emptyset \) and let \(p \in H\). Consider \(H_p\) the connected component of H that contains p. Likewise, let \( X^\mathsf {c} _p\) be the connected component of \( X^\mathsf {c} \) that contains p. We prove in the following paragraph that \(H_p= X^\mathsf {c} _p\). Since A is bounded, \(H_p\) is bounded too and \(H_p\) is a hole of X, so that H is a union of holes.

Let us prove that \(H_p= X^\mathsf {c} _p\). Recall that \(H_p\subseteq X^\mathsf {c} \) is connected by definition, and that it intersects the connected component \( X^\mathsf {c} _p\) of \( X^\mathsf {c} \). Hence, \(H_p\subseteq X^\mathsf {c} _p\). Let us prove the converse inclusion \( X^\mathsf {c} _p\subseteq H_p\). Let \(q\in X^\mathsf {c} _p\) and consider \(\gamma : [0,1] \rightarrow \mathbb {R}^2\) a path in \( X^\mathsf {c} _p\) connecting p to q. Such a path exists because \( X^\mathsf {c} _p\) is open and connected.

We have \(\partial H_p\subseteq \partial H\), hence \(\partial H_p\subseteq \partial X\). We have \(\gamma \cap \partial H_p\subseteq \gamma \cap \partial X=\emptyset \). We claim that \(q \in H_p\). Indeed, suppose for a contradiction that \(\gamma \) connects \(p \in H_p\) to \(q \not \in H_p\). Then, \(\gamma \) would meet \(\partial H_p\), which is impossible. \(\square \)

1.3 A.3 A Polynomial Time Algorithm

We are now ready to describe an algorithm that tests in polynomial time whether \(A \subseteq X\), where A is the erosion of a finite collection of disks and X is the union of a finite collection of disks. The algorithm hinges on Lemma A.2 and its pseudocode is given in Algorithm 1. To describe it, let \(\mathscr {S}\) and \(\mathscr {B}\) be two finite collections of disks, \(\mathscr {C}\) a finite collection of circular arcs, x a point, \(\varepsilon \ge 0\) a non-negative real number. We introduce four functions:

  • Boundary takes as input the pair \((\mathscr {S}, \varepsilon )\) and returns the set of circular arcs that compose the boundary of the erosion \(\bigl (\bigcup \mathscr {S}\bigr ){}^{\ominus \varepsilon }\).

  • PointLocation takes as input the triplet \((x, \mathscr {S}, \varepsilon )\) and returns inner if \(x \in \mathring{ A } \), boundary if \(x \in \partial A\) and outer if \(x \not \in A\), where \(A = \bigl (\bigcup \mathscr {S}\bigr ){}^{\ominus \varepsilon }\).

  • Inclusion takes as input \((\mathscr {C}, \mathscr {B})\) and returns true iff \(\bigl (\bigcup \mathscr {C}\bigr ) \subseteq \bigl (\bigcup \mathscr {B}\bigr )\).

  • LocalInclusion takes as input \((v, \mathscr {S}, \varepsilon , \mathscr {B})\) where v lies on the boundary of both the erosion \(\bigl (\bigcup \mathscr {S}\bigr ){}^{\ominus \varepsilon }\) and the union \(\bigcup \mathscr {B}\). It returns true iff there exists an open neighborhood \(N_v\) of v such that \(N_v \cap \bigl (\bigcup \mathscr {S}\bigr ){}^{\ominus \varepsilon } \subseteq \bigl (\bigcup \mathscr {B}\bigr )\).

Each of those four functions can be implemented in polynomial time and we leave to the reader the choice of an implementation.

figure a

Appendix B: Interior of a Cone

Lemma B.1

Let \(u \in \mathbb {R}^n\) and \(C = \{c_1, \ldots , c_k\} \subseteq \mathbb {R}^n\). We have the inclusion

$$\begin{aligned} \mathring{ {\text {coni}} } \left( u,C \right) \subseteq \biggl \{ u+\sum _{i=1}^k \lambda _i( c_i-u ) \mid \lambda _i \in \mathbb {R}, \, \lambda _i>0 \biggr \}. \end{aligned}$$

In order to prove Lemma B.1 we rely on the following technical result:

Lemma B.2

Let \(u \in \mathbb {R}^n\) and \(C = \{c_1, \ldots , c_k\} \subseteq \mathbb {R}^n\). Let \(c\in \mathring{ {\text {coni}} } \left( u,C \right) \) and \(l \in \{1,\ldots ,k\}\). There exist \(\lambda _1,\ldots ,\lambda _k\ge 0\), \(\lambda _{l}>0\), such that \(c-u=\sum _{i=1}^k\lambda _i( c_i-u )\).

Proof

Let \({\mathbf {e}}_l=(c_l-u)/\Vert c_l-u\Vert \). Let \(r>0\) such that \(b(c,r)\subseteq \mathring{ {\text {coni}} } \left( u,C \right) \). Then \(c-r{\mathbf {e}}_l\in {\text {coni}}\left( u,C \right) \) and there are \(\mu _1,\ldots ,\mu _k\ge 0\) such that \(c-r{\mathbf {e}}_l -u=\sum _{i=1}^k\mu _i( c_i-u )\). The last expression can be rewritten as follows:

$$\begin{aligned} c-u = \frac{r}{\Vert c_l-u\Vert }( c_l-u ) +\sum _{i=1}^k\mu _i( c_i-u ). \end{aligned}$$

Setting \(\lambda _i=\mu _i\) for \(i\ne l\), and \(\lambda _l=\mu _l+r/\Vert c_l-u\Vert \), we obtain that \(c-u=\sum _{i=1}^k\lambda _i( c_i-u )\) with \(\lambda _i\ge 0\), and \(\lambda _l>0\). \(\square \)

We can now prove Lemma B.1.

Proof of Lemma B.1

By Lemma B.2, for each \(l \in \{1, \ldots , k\}\) there are \(\lambda _{l1},\ldots ,\lambda _{lk} \ge 0\), \(\lambda _{ll} >0\), such that \(c-u=\sum _{i=1}^k\lambda _{li}( c_i-u )\). By summing over \(1\le l\le k\) we have

$$\begin{aligned} k( c-u ) = \sum _{i=1}^k \biggl ( \sum _{l=1}^k \lambda _{li} \biggr )( c_i-u ) \end{aligned}$$

with \(\sum _{l=1}^k\lambda _{li}/k >0\) for all i. \(\square \)

Appendix C: Gadget for a Degree-Three Vertex when \(\delta = 0\)

When \(\delta = 0\), the set of disks \(\mathscr {S}\) computed in Sect. 4.2 from graph \(G=(V,E)\) may fail to satisfy property (i). In other words, the \(\varepsilon \)-erosion of the union \(S = \bigcup \mathscr {S}\) may not coincide with the rotulae (i.e. the centers of disks in \(\mathscr {S}\)). To see this, assume G has a degree-three vertex v. The vertex gadget for v consists of three disks whose centers \(c_1\), \(c_2\) and \(c_3\) form an equilateral triangle. By construction, the circumdisk of triangle \(c_1c_2c_3\) is centered at v and when \(\delta = 0\), the circumdisk has radius \(\varepsilon \) and is contained in S. Thus, v belongs to the \(\varepsilon \)-erosion of S without being a rotula and property (i) does not hold.

In this appendix, we propose a vertex gadget for degree-three vertices, specific to the case \(\delta = 0\), while keeping all other gadgets as presented in Sect. 4.2. More specifically, given a degree-three vertex v adjacent to edges \(e_1\), \(e_2\), and \(e_3\), the new vertex gadget \(\mathscr {G}_v\) for v is composed of six disks as depicted in Fig. 12: three of them have radius \(\varepsilon \) and are centered on the three extreme rotulae \(c_{ve_i}\), one for each edge \(e_i\) incident to v. These extreme rotulae lie on the boundary of a larger disk of radius \(2 \varepsilon \), denoted by \(\overset{\frown }{b_v}\). Moreover, a disk slightly smaller than \(\overset{\frown }{b_v}\) sits just off-center of \(\overset{\frown }{b_v}\). We denote it by \(\overset{\leftarrow }{b_v}\). Last, a disk of radius \(\varepsilon \) is centered on point \(c_v\), called vertex rotula, which lies on the boundary of \(\overset{\leftarrow }{b_v}\). Notice that the vertex gadget for v fits in a square of side length \(12\varepsilon \). (Actually, it fits in a square of side length \(8\varepsilon \) but a square of size \(12\varepsilon \) allows us to combine it with blocks of Sect. 4.2.)

Fig. 12
figure 12

(a) Gadget for a degree-three vertex when \(\delta =0\); (b, c) Illustration of properties (ix) and (x): the \(\varepsilon \)-erosion of the vertex gadget is either contained in the union of the two large balls, (b) or in the union of one large ball and the three balls of radius \(\varepsilon \) centered on extreme rotulae (c)

Observe that the \(\varepsilon \)-erosion of the vertex gadget for v is now composed of five connected components: the three extreme rotulae \(c_{ve_i}\), the vertex rotula \(c_v\), and an area depicted in orange in Fig. 12. The \(\varepsilon \)-erosion of the vertex gadget for v minus the three extreme rotulae linked to v is referred to as the core of v. The core consists of the orange-coloured area together with the vertex rotula \(c_v\). In the following, we call the intersection of the disk \(b(c_{ve},\varepsilon )\) with the core of v the tip of the vertex v associated to the edge e and denote it as \(t_{ve}\). We say that a tip \(t_{ve}\) and a vertex x are linked to one another whenever \(v=x\). Finally, the remainder of v is the core of v minus its three tips. In particular, the remainder contains the vertex rotula \(c_v\).

Given a degree-three vertex v, the key property of its gadget \(\mathscr {G}_v\) is that for any collection of disks \(\mathscr {X}\) such that \(\bigcup \mathscr {X}\subseteq \bigcup \mathscr {G}_v\), if we want to complete \(\mathscr {X}\) into a collection of disks that covers the \(\varepsilon \)-erosion of \(\bigcup \mathscr {G}_v\), then two disks are necessary if one of the extreme rotulae or one of the tips linked to v are not covered by disks in \(\mathscr {X}\) but one disk is sufficient whenever the three tips and extreme rotulae linked to v are covered by disks in \(\mathscr {X}\); see Fig. 12.

Given as input a graph G and a rational number \(\varepsilon \ge 0\), we are now ready to convert G into a collection of rational disks \(\mathscr {S}\) so that G admits a vertex cover of cardinality k if and only if \(\bigcup \mathscr {S}\) admits a \((0,\varepsilon )\)-ball approximation of cardinality \(k+L+D_3\), where \(D_3\) is the number of degree-3 vertices of G. For short, we shall say that a collection \(\mathscr {S}\) which satisfies this property is valid. We get a valid collection of disks \(\mathscr {S}\) by first drawing G on an orthogonal grid of size \(24\varepsilon \) (instead of \(8\varepsilon \) as before). We then cover the drawing of G with two types of blocks, each containing at most one vertex gadget or a part of an edge gadget: blocks of size \(12\varepsilon \) are used to cover degree-3 vertices and blocks of size \(4\varepsilon \) are used to cover edges, degree-0, degree-1 and degree-2 vertices as illustrated in Fig. 13.

Fig. 13
figure 13

Conversion of the drawing of graph G in Fig. 6 (a) using blocks of size \(12\varepsilon \) and blocks of size \(4\varepsilon \)

We prove below that \(\mathscr {S}\) is valid by establishing Properties C.1 and C.2 which are the equivalent of Properties 4.1 and 4.2 in the case \(\delta = 0\).

First, let us revisit properties (i), (vi), and (vii) of Sect. 4.1:

  1. (i′)

    The \(\varepsilon \)-erosion of \(S = \bigcup \mathscr {S}\) is exactly the collection of rotulae, tips, and remainders.

  2. (vi′)

    A disk \(b\subseteq S^{\oplus \delta }\) intersects the \(\varepsilon \)-erosion of at most one vertex gadget v.

  3. (vii′)

    Let v be a vertex. There exists a disk \(b\subseteq S\) that covers all extreme rotulae and all tips linked to v.

Two extra properties are needed:

  1. (ix)

    Let v be a degree-three vertex. There exists a disk \(b\subseteq S\) that covers the remainder of v.

  2. (x)

    Let v be a degree-three vertex. For any edge e incident to v, (a) there exists a disk b that covers the extreme rotula \(c_{ve}\), the tip \(t_{ve}\), and the regular rotulae neighbour to \(c_{ve}\); (b) there exists a disk b that covers the extreme rotula \(c_{ve}\), the tip \(t_{ve}\), and no regular rotulae.

Note that an example of disk b that satisfies Property (vii\(^\prime \)) is \(\overset{\frown }{b_v}\), an example of disk b that satisfies property (ix) is \(\overset{\leftarrow }{b_v}\) (see Fig. 12 (c)), Moreover, the three disks \(b(c_{ve},\varepsilon )\) (small green disks on Fig. 12 (c) satisfy property (x)(a)).

Recall that for each edge e incident to a vertex v, we introduced a canonical covering that covers \(c_{ve}\) and all the regular rotulae of edge e. Whenever v is a degree-three vertex, we furthermore enforce this canonical covering to contain the ball \(b(c_{ve},\varepsilon )\) (see Fig. 14).

Fig. 14
figure 14

Canonical covering for an extreme rotula linked to a degree-three vertex

We are now ready to rewrite Properties 4.1 and 4.2 as follows:

Property C.1

If G has a vertex cover \(C\subseteq V\), then S has a \((0,\varepsilon \))-ball approximation \(\mathscr {B}\) with \(| \mathscr {B} | = L+D_3+| C |\), where \(D_3\) is the number of degree-three vertices of G.

Proof

The principle is the same as in the proof of Property 4.1: for each vertex \(v \in C\) we start by selecting disks that cover the \(\varepsilon \)-erosion of the vertex gadget and the extreme rotulae linked to v. If we denote by \(D_3(C)\) the number of degree-three vertices in C, by properties (vii\(^\prime \)) and (ix), this gives a set \(\mathscr {C}\) of \(| C | + D_3(C)\) disks that cover at least one extreme rotula per edge.

Then, as before, all the regular rotulae can be covered with L disks using the appropriate canonical covering for each edge. Consider now a degree-three vertex \(v \notin C\). For any edge e incident to v, the canonical covering of e covers the extreme rotula \(c_{ve}\) and the tip linked to \(c_{ve}\). By property (ix), \(\mathscr {C}\) can be completed into a \((0,\varepsilon )\)-ball approximation with one disk for each degree-three vertex \(v \notin C\), thus \(D_3-D_3(C)\) disks (see Fig. 12 (b)), which concludes the proof. \(\square \)

Property C.2

If S has a \((0,\varepsilon )\)-ball approximation \(\mathscr {B}\), then G has a vertex cover C with \(| C |\le | \mathscr {B} |-L-D_3\), where \(D_3\) is the number of degree-three vertices of G.

Proof

Similarly to the proof of Property 4.2, we proceed to substitutions to transform any \((0,\varepsilon )\)-ball approximation \(\mathscr {B}\) into another one called \(\mathscr {R}\) having the property that it contains a canonical covering of each edge, and exactly one disk for each vertex rotula.

As before, we denote by \(\mathscr {C}_{ve}\) the canonical covering of edge e that covers the extreme rotulae \(c_{ve}\). Initializing \(\mathscr {R}\) to \(\mathscr {B}\), we modify \(\mathscr {R}\) in two steps as follows:

  1. 1.

    For each degree-three vertex v, consider the set of disks \(\mathscr {B}_v\) of \(\mathscr {B}\) that cover \(c_v\). Replace \(\mathscr {B}_v\) by the singleton disk \(\{\overset{\leftarrow }{b_v}\}\). Recall that \(\overset{\leftarrow }{b_v}\) satisfies property (ix), and covers the remainder of v.

  2. 2.

    For each edge \(e=\{u,v\}\), consider the set of disks \(\mathscr {B}_e\) of \(\mathscr {B}\) that contain at least one regular rotula of e. We build another set of disks \(\mathscr {R}_e\) that covers all regular rotulae of e, with \(| \mathscr {R}_e | = \ell (e)\) and proceed to the following substitutions:

    • if \(\mathscr {B}_e\) covers one extreme rotula or none, \(\mathscr {R}_e\) is set to the appropriate canonical covering. We replace \(\mathscr {B}_e\) by \(\mathscr {R}_e\).

    • if \(\mathscr {B}_e\) covers the two extreme rotulae, then \(| \mathscr {B}_e | \ge l(e)+1\). Choose arbitrarily one of the two extreme rotulae, say \(c_{ve}\). If the other vertex u is not of degree three, choose \(b \subset S\) that covers \(c_{ue}\) but no regular rotula. If u is a degree-three vertex, remember that, by definition, any disk \(b'\) of \(\mathscr {B}_e\) contains a regular rotula. Thus, if \(b'\) contains also \(c_{ue}\), the part of S that \(b'\) covers is contained in the union of the tip \(t_{ue}\) with the remainder of u. The remainder of u being covered by \(\overset{\leftarrow }{b_u}\) thanks to step 1, we can replace any such disk \(b'\) by a disk \(b \subset S\) that covers \(c_{ue}\), \(t_{ue}\) but no regular rotula and still preserve the \((0,\varepsilon )\)-ball approximation property. This disk exists thanks to property (x)(b). We replace \(\mathscr {B}_e\) by \(\mathscr {C}_{ve} \cup \{b\}\), and \(\mathscr {R}_e\) is equal to \(\mathscr {C}_{ve}\).

Each of these substitutions preserves the \((0,\varepsilon )\)-ball approximation property and does not increase the cardinality of the resulting collection of disks. Consider the set \(\mathscr {C}\) of disks of \(\mathscr {R}\) that do not contain any regular rotula, nor any vertex rotula. We have

$$\begin{aligned} \mathscr {C} \subseteq \mathscr {R}\setminus \biggl ( \bigcup _{e\in E}\mathscr {R}_e \cup \bigcup \overset{\leftarrow }{b_v}\biggr ), \end{aligned}$$

where v ranges over the set of degree-three vertices. By construction, \(| \mathscr {C} | \le | \mathscr {R} | - L - D_3 \le | \mathscr {B} |-L-D_3\) and \(\mathscr {C}\) covers at least one extreme rotula per edge. The end of the proof is similar to the proof of Property 4.2. Let C be the set of vertices \(v \in V\) linked to an extreme rotula covered by a disk in \(\mathscr {C}\). By construction, any \(b\in \mathscr {C}\) intersects the \(\varepsilon \)-erosion of exactly one vertex gadget (by property (iv\(^{\prime }\))). It is thus possible to map each \(b \in \mathscr {C}\) to one vertex \(v \in C\), showing that \(|C| \le |\mathscr {C}|\). \(\square \)

To conclude, note that all the disks of this construction have rational centers and radii. Moreover, this construction can actually be extended for any value \(\delta \ge 0\).Footnote 2 Being rather more complex, we chose to present it in Appendix, and keep a simpler construction in the article.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Attali, D., Nguyen, TB. & Sivignon, I. (\(\delta ,{\varepsilon }\))-Ball Approximation of a Shape: Definition and Complexity. Discrete Comput Geom 61, 595–625 (2019). https://doi.org/10.1007/s00454-018-0019-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00454-018-0019-8

Keywords

Mathematics Subject Classification

Navigation