Incidences Between Curves and Points on the Grid
Abstract
We derive an improved upper bound for the number of incidences between the vertices of a uniform grid and convex or concave curves, each pair of which intersect in at most points, for some integer parameter . For a square grid, our bound is
This improves a general bound of on the number of incidences with respect to vertices of a grid and convex or concave curves.
For a rectangular grid, which fits inside a rectangle, for some integer (which generally may depend on ), the bound also depends on how large is. The precise result is stated in Theorem 2, but, roughly, we get the same bound as above when is not too large.
Our analysis competes with a celebrated result of Bombieri and Pila [6], which gives (usually) a sharper bound if we assume that the input curves are algebraic of constant degree and the input points are vertices of the square grid. However, the analysis in [6] strongly relies on these assumptions, and cannot be extended to handle the more general setup considered here.
As a main application, of independent interest, we present a variant of our technique for semi-algebraic range reporting on sets of points of “bounded spread” in the plane.
Keywords and phrases:
Geometric incidences, uniform grid, bounded spread, Pick’s theorem, range searchingFunding:
Esther Ezra: Work has been partially supported by Israel Science Foundation Grant 800/22 and Binational Science Foundation Grant 2022/131.Copyright and License:
2012 ACM Subject Classification:
Theory of computation ; Theory of computation Computational geometryEditors:
Ho-Lin Chen, Wing-Kai Hon, and Meng-Tsung TsaiSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Let be a set of points in the plane, and let be a set of arbitrary curves from some fixed family of curves (e.g., lines, parabolas, circles, etc.). Let denote the number of incidences between the points of and the curves of , that is, . We denote by the maximum of , taken over all sets of points and sets of curves from the given family, implicit in this notation. The incidence problem is to bound . This problem has been studied extensively for more than four decades; see below.
Background.
The simplest formulation of the incidence problem involves incidences between points and lines in the plane, where Szemerédi and Trotter [14] showed an upper bound of , which is tight in the worst case [7] (see also [13, Chapter 1] and [11] for an overview of this and other results).
For more general settings, the work of Sharir and Zahl [12] yields the following best known upper bound for , for arbitrary sets of points and of algebraic curves with degrees of freedom, that is, the number of real parameters needed to specify a curve of . The parameter is also referred to as the parametric dimension of . In this case the bound is
| (1) |
where the notation hides subpolynomial factors. See also the earlier works [5, 3, 10] for the case of curves with , such as circles or parabolas. Combined with the very recent result of Janzer et al. [8], these results yield the following slightly improved bound (with no subpolynomial factors):
| (2) |
An early celebrated work of Bombieri and Pila [6] has studied the case where the points of form the vertex set of a integer lattice (or grid, as we call it in this work), and each curve in is an irreducible algebraic curve of degree . They have shown, using a fairly involved algebraic analysis, that each such curve contains at most lattice points, leading to an upper bound of on the number of incidences involving such curves.
The analysis in [6] (as well as the more general case studied in [12] for arbitrary point sets) strongly relies on the algebraic structure of the input curves. If, however, the curves are not necessarily algebraic, but merely have a “well behaved” structure, then the analysis in [6] (and [12]) no longer applies in general. Specifically, we are interested in settings where the only assumptions are that each curve in consists of strictly convex or concave portions, and each pair of these curves intersect in at most points, where is a constant integer parameter. In such a case the best bound we are aware of is . This bound is mentioned in [13, Chapter 3], and, for the sake of completeness, we present below, in Section 3 (see Proposition 4), a full analysis that derives this bound, in a somewhat more general setup. The bound is somewhat weak, since it does not depend on , and it is also linear in , so it tends to be large when is large. Our main goal in this paper is to obtain an improved incidence bound for arbitrary curves that satisfy the assumptions made above, and for points that lie on a square grid (as above), or, more generally, on a rectangular grid (which turns out to be a considerably more challenging problem).
Our results.
In this work we significantly improve the “default” bound in Proposition 4 for the case where each pair of curves in intersect in at most points, for some constant integer parameter . We also allow the curves in to contain line segments, and therefore weaken the assumption of strict convexity (or concavity). (This extension is essentially trivial, in view of the Szemerédi-Trotter bound [14].) We then obtain, in Section 2, the following bound for the case of a square grid:
Theorem 1.
Let be the set of the vertices of the grid, and let be a collection of curves, each of which consists of a constant number of convex and concave pieces, and every pair of which intersect in at most points, for a constant integer parameter . Then the number of incidences between and is
In particular, one can easily verify that the bound in Theorem 1 is for pseudo-lines (curves with ), and for pseudo-parabolas or pseudo-circle (curves with ), under the assumption that each curve can be decomposed into a constant number of convex/concave pieces. We comment that the bound in this theorem is worst-case tight for parabolas, using a construction inspired by Elekes (see, e.g., [13, Chapter 1]), but it requires a rectangular grid, which is the case we study in Section 3. In this latter section we assume that the points of are the vertices of a uniform grid, for some parameter (this parameter is also referred to as the “aspect ratio” of ). For this setting, we present a more involved analysis, where we show:
Theorem 2.
Let be an integer parameter (that may depend on ), and let be the set of the vertices of the uniform grid. Let be a collection of curves, each of which consists of a constant number of convex and concave pieces, and every pair of which intersect in at most points, for some constant integer parameter . Then the number of incidences between and satisfies the following bounds.
-
(i)
When , we have
-
(ii)
When (which can only happen when ), we have
-
(iii)
When , we have
Note that case (i) in Theorem 2 essentially extends the bound in Theorem 1 to “nearly” square grids, whereas case (iii) implies that the bound is similar to the standard one (stated in Proposition 4), if the aspect ratio of the grid is relatively “large”. The logarithmic factors in (i) and (ii) are artifacts of our analysis, and we believe that they can be removed with a more refined analysis.
Our proof technique is mainly combinatorial (i.e., avoids any algebraic considerations, which are irrelevant in our setup), and consists of two major ingredients: (i) A Turán-type bound [9] that is exploited as a black box (see Section 2 for more details), and (ii) a construction inspired by the “curvature-based” approach of Afshani and Cheng [1], who established an upper bound for the cost of semi-algebraic range reporting for planar semi-algebraic regions of constant complexity and points uniformly distributed in the unit square. We adapt, in a nontrivial manner, their machinery to derive incidence bounds for the case of point sets on a uniform grid, as specified in Theorems 1 and 2.
On the algorithmic front, following the analysis in [1], we present a variant of our solution for the square grid setting, for semi-algebraic range searching for points of “bounded spread” and planar semi-algebraic regions of constant complexity. Specifically, the input consists of a set of points, and the spread of , defined as , is (which is asymptotically the smallest possible). In particular, this assumption includes the case where each point of lies close to a distinct grid vertex (of the grid). The goal is to obtain a space-query tradeoff bound for (online) semi-algebraic range reporting for , where the query ranges belong to a family of semi-algebraic regions of parametric dimension (recall that is the number of parameters needed to specify a range in ). That is, for each query range, we want to efficiently report all the input points that lie in that range. In Section 4 we adapt the machinery in [1] and show:
Theorem 3.
Let be a set of points in the plane with spread, and let be a family of semi-algebraic ranges of parametric dimension .111We emphasize that the query ranges are not given in advance, but they are all defined by a fixed constant-complexity semi-algebraic predicate, with the degrees of freedom as parameters. Then, for any value , where is an appropriate absolute constant, we can construct a range reporting data structure for , of size and preprocessing cost , which supports range reporting queries with regions from , in time per query, where is the output size.
The main difference between our setting and the one presented in [1] is that in the latter the points in are randomly and uniformly drawn in the unit square , which makes the estimation of the expected number of points contained inside an region enclosed within fairly straightforward. On the other hand, when we only assume that has a spread, this estimation becomes trickier and requires further considerations.
2 The case of a square grid
Let be the set of vertices of a uniform grid that fits within the unit square (assume, without loss of generality, that is a square). Let be a set of arbitrary curves in the plane with the following properties:
-
(i)
Each curve does not contain any line segment.
-
(ii)
Any pair of curves intersect in at most points, for some constant integer parameter . No pair of curves from overlap.
-
(iii)
Each curve consists of strictly convex and/or strictly concave portions.
For example, the case corresponds to collections of pseudo-lines (that is, collections of unbounded Jordan curves, each pair of which intersect at most once ), and the case corresponds to collections of pseudo-parabolas (collections as above, where each pair intersect at most twice) or pseudo-circles (defined similarly to pseudo-parabolas, but the Jordan curves are closed), where we also require that these curves satisfy properties (i) and (iii).
In this section we derive an improved upper bound on the number of incidences between the points of and the curves of . We comment that property (iii) is essential for the analysis, but property (i) can be discarded by applying the point-line incidence bound in [14] to the straight portions of the curves. Specifically, we can extend property (iii), so that each curve consists of at most line segments (in addition to the strictly convex/concave portions), so the total additional contribution to the incidence bound in this case is . This bound can then be added to our bound on .
Our technique differs from the approach of Bombieri and Pila [6], who have studied the case where the curves of are algebraic of constant degree, and derived a (generally) stronger bound for this case. Their work strongly relies on the algebraicity property of the curves. In contrast, our setting is more general and does not make such an assumption. Informally, our analysis is combinatorial, rather than algebraic, as in [6].
As described in Section 1, our analysis is based on the curvature-based approach of [1]. In this approach, a curve is covered by “canonical” slabs of varying widths. The fact that the total absolute curvature of is relatively small allows us to control (i) the thickness and number of slabs, and, consequently (ii) the number of points in a slab. These canonical slabs induce a decomposition on , where thin slabs contain a relatively small number of points from (see our analysis below for the specific bounds). Given this property, we apply a Turán-type incidence bound within each canonical slab, which eventually yields the incidence bound stated in Theorem 1 – see below.
The construction.
Our analysis uses the following construction inspired by [1]. Let be an integer parameter, which we will set later. We partition the unit square into a uniform grid . As a result, we obtain a partition of into subsets, each confined to a grid cell of , which has side length and contains points of . (Points on boundaries of cells of are assigned arbitrarily to one of the neighboring cells, say, to either the lower or the left cell.) We then construct, for each cell , a family of canonical slabs, which we will use to cover the portions of the curves that cross . The construction of these slabs proceeds as follows. For , fix the parameter (which lies in ). We first partition into vertical interior-disjoint slabs of width (and length ); the number of these slabs is . We then create rotated copies of the -th partition, so that the -th copy is a rotation of the vertical partition by the angle . The slabs within each rotated family are extended or shrunk to fit within , so their lengths vary between and . Let be the collection of these canonical slabs, for a fixed , over all cells (and all rotations). We refer to the slabs in as slabs of type , or as -slabs for short. We repeat the above construction for each , and denote by the union . Put . By the above construction, is the number of grid cells, which is , times the number of -slabs in a cell, which is ; that is, we have .
Within each slab we bound the number of incidences between the points of and a certain subfamily of the curves that intersect (see below for the precise definition). In order to do so, we need (i) to estimate , and (ii) to construct, for each , a small-sized set of slabs in that cover . Each slab interacts with all the curves that use for their cover – see below.
Bounding the number of points in a slab.
Beginning with task (i), we apply Pick’s theorem (see [4]), which measures the area of a nondegenerate simple polygon with vertices on the unit grid, in terms of the number of grid points that it contains. Specifically, let be the area of , let (resp., ) be the number of points of in the interior (resp., on the boundary) of . Then Pick’s theorem asserts that . In our case, each coordinate is shrunk by , so, for a nondegenerate simple polygon with vertices on (which is the shrunk grid), we have , implying that
Let be a canonical -slab. Replace by the convex hull of . 222We apply this replacement since the vertices of do not necessarily belong to , and this property is necessary in order to apply Pick’s theorem. Then
The additive term is subsumed in this bound as long as is not too large and is not too small. When the bound is smaller than , we get . Nevertheless, in this case too we will use the bound , with some care, and explain later why this does not cause any problems. We also note that this bound holds as long as is not a collinear set of points (which is the case when ). Degenerate situations of this kind will be handled separately, in a rather simple manner – see below.
Covering a curve by canonical slabs.
For task (ii), we follow a variant of the analysis in [1]. Let be a curve in . We may assume that is (strictly) convex or (strictly) concave, and is both -monotone and -monotone; otherwise, by property (iii) we can partition into pieces of this kind. The turning angle of a connected portion of is the difference between the orientations , of the tangents to at its endpoints. Because of convexity, the tangent orientations always increase or always decrease along , so the orientation of every tangent to , as well as that of the chord connecting the endpoints of , lies between and . See Figure 1.
Now let be a cell of that crosses. By our assumptions, the intersection is a single connected component of . Let denote the turning angle of . As is easily checked, can be enclosed in a (not necessarily canonical) slab of width , for some absolute constant . Let be the index such that . When we still use the index (see below), and we may assume that ; otherwise break further into pieces that satisfy this property.
Then, as is easily checked, can be enclosed in the union of canonical -slabs. See also [1, Lemma 30] for a similar property. This is illustrated in Figure 2. (Note that might end inside a cell, but this does not harm the analysis.)
Fix an index , and let denote the collection of all the arcs , over the curves and the cells of , for which . Since each piece in consumes at least of the turning angle of the containing curve , the number of pieces of in is at most . For pieces with (which are left out of the preceding analysis), the -monotonicity itself implies that crosses at most cells of , allowing us to extend the first range to . That is, we have shown that each curve contributes pieces to , and each such piece can be covered by (canonical) -slabs.
Fix an -slab , let , and be the set of the portions within of the curves of that use in their cover (so their turning angles within the cell of that contains lie in , or in for ). As shown earlier, assuming is not collinear,
| (3) |
Put , and observe that, summing over all -slabs,
| (4) |
(This is because each covering slab “consumes” of the turning angle of the curve.) We now apply an incidence bound to and , using the following considerations. Assume first that is not collinear. In such a case, we apply a moderate incidence bound using a Turán-type bound. Specifically, since each pair of curves in intersect in at most points, it follows that the incidence graph of and (and, in general, also the incidence graph of and ) does not contain any copy of . Therefore, by a result of Kövari, Sós and Turán [9], it follows that
| (5) | ||||
| (6) |
where the left-hand side is the number of edges in this incidence graph. In what follows, and unless stated otherwise, we will mostly be using the bound in (5).
If is collinear then, since we have assumed that does not contain any line segments, each arc of can have at most two incidences with (since each such arc is strictly convex/concave, it must intersect any line in at most two points), for a total of at most incidences, which is subsumed in the above bound. In addition, if the bound in (3) on is smaller than , the actual value of is , in which case
which is again subsumed in the above bound. Hence there is no harm if we use (with some care – see below) the bound in (3), even when it is smaller than . Letting denote the collection , and summing this bound over all -slabs , we thus obtain
where is the upper bound in (3). The following calculations handle slabs for which this bound is . Slabs for which this bound is smaller than are handled in a much simpler manner – see below. Next, using Hölder’s inequality, we obtain
| (7) | ||||
| (8) |
Recall that we have , (where we assume for now that this bound is ), and . Substituting these bounds in the above inequality, we obtain:
We sum these bounds over the values of for which (i.e., ). Since appears only in the denominators, we obtain decreasing geometric sums, which we can bound by their leading terms. We therefore obtain the incidence bound .
For satisfying (note that there is no such when ), the bound per slab is, as argued above, just , and the sum of these bounds is just , which, when summed over , is just . That is, we have .
We balance these terms by choosing
For this choice to make sense, we need to require that . When (in the above expression) is smaller than , we replace it by , and when , we replace it by . In the former case the first term decreases and the second term increases (and thus dominates the first term), so the bound becomes . In the latter case we have the relation , which implies that , which is easily seen to be impossible for any (unless and are constants). When (the case of pseudo-lines), this inequality implies that is at most . In this particular case, we apply the bound in (6) on the number of incidences, from which we obtain . We have thus shown:
| (9) |
Recall our discussion earlier in this section, where we also consider the case where property (i) does not hold for , and, as a result, need to add to the bound. (When no line segments are allowed, we only get the bound in (9).) This completes the proof of Theorem 1.
3 The case of a rectangular grid
Problem statement.
Let be the set of vertices of a uniform grid drawn within the rectangle , for some integer (which may depend on ), and assume, without loss of generality, that is an integer. We now construct a uniform grid within , so each of its cells is a square of side length . Let be a set of curves satisfying properties (i)–(iii) of Section 2.
In this section we extend the analysis in the preceding section, to derive an improved upper bound on . Somewhat surprisingly, the analysis gets considerably more complicated in this case.
We begin with the following well-known property (see, e.g., [13]). For the sake of completeness, we present a proof that also holds for rectangular grids.
Proposition 4.
-
(a)
An arbitrary strictly convex (or concave) curve can be incident to at most vertices of a square or rectangular uniform grid with a total of vertices. The same bound holds for a curve that consists of strictly convex and concave pieces.
-
(b)
The bound is worst-case tight for a parabola in an grid.
Proof.
-
(a)
Assume that the grid is a grid, with . Without loss of generality, we may assume that the given curve is strictly convex and is both - and -monotone, and replace it by the polygonal convex curve that connects the grid points on in a left-to-right order. An edge of may contain many grid points, but we only consider the two extreme ones, because, by assumption, none of the interior points lies on . The vector along each edge of is of the form , where and . Fix two parameters , , whose values will be set later. An edge of is long if either or , and short otherwise. Since each long edge advances by at least columns to the right, or by at least rows upwards, the number of long edges is at most . For short edges, their slopes are of the form , for , . The number of such slopes is at most , and because is strictly convex, the slopes of its edges are all distinct, implying that the number of short edges is at most .
We now set and to satisfy . The solution of these equations is and . Hence the number of grid points on is .
Note that this analysis holds when and . When, say, , the claim is trivial, as the grid has at most columns. A symmetric argument applies when . If consists of strictly convex or concave pieces, we apply the preceding analysis to each piece separately. This completes the proof of (a).
-
(b)
The parabola passes through vertices of the grid.
The modified construction.
We use the following modification of the earlier construction. While several parts of the analysis are similar, there are quite a few additional or different details that need to be worked out, to justify some overlap in the presentations. Let be an integer parameter, which we will set later.333We will actually be using several different values of ; see below. We partition into an uniform grid , which yields a partition of into subsets, each confined to a grid cell of , each of which has side length and contains points of . As in Section 2, we then construct, for each cell , a family of canonical slabs, which we will use to cover the portions of the curves that cross . The slabs are now of two kinds. The first family of slabs, which we refer to as , is similar to the one constructed earlier for square grids, but with some nontrivial modifications (see below for details). The second family, denoted by (see below for the definition) is of a new, narrower kind of slabs, and most of this section analyzes the structural behavior of these slabs, and presents several combinatorial properties that we exploit in order to bound the number of incidences that these slabs contribute. Having these properties, the actual derivation of the incidence bound is mainly technical. The analysis for is similar, but simpler; see below.
Generally speaking, the main difference between the setup here and the previous setup is that curves can cross a potentially larger number of cells of , up to of them, and this amount can potentially increase the incidence bound if we only use slabs of (informally, these slabs are too wide for this setup). To address this issue, we apply two main modifications: (i) We partition the curves in into subarcs, depending on their “steepness” (see below), and bound the number of incidences with respect to each of these portions separately. (ii) We use a second family, namely , of narrower slabs, which were not needed in the case of a square grid. We first introduce the structure of these curves and of the narrower slabs, and discuss the interaction between them, and then present the analysis for the total incidence bound.
Steepness and flatness.
Consider a curve that crosses cells of , for some ; note that no such curves arose in the case of square grids (after having split each of them into monotone (strictly) convex/concave pieces). As in Section 2, we may assume that is (strictly) convex or concave and is both -monotone and -monotone; any curve in our family can be partitioned into such curves. For concreteness, assume that is concave (i.e., its tangents turn clockwise as we go up), and is the graph of an increasing function; all the other cases, where is convex and/or decreasing, are treated in a fully symmetric manner. Now let be a cell of that crosses. The intersection is connected. We assign to the orientations , with respect to the -axis, of the tangents to at its bottom and top endpoints, respectively, and put .
The orientation of the chord that connects the endpoints of , as well as the orientations of all the tangents to , lie between and . We define the steepness of as the (larger) orientation , and its flatness as . Comparing to the analysis in Section 2, the flatness of a curve represents its turning angle (although we now consider much smaller values than those used in Section 2). The steepness is a new measure (that was not needed for the analysis in Section 2), whose role is to control the number of cells of crossed by a curve (i.e., a subcurve with a given steepness).
We call a -arc if its steepness lies in and its flatness lies in , for suitable integer indices and . Only the case is relevant; less flat curves can be handled by the wider slabs of , and we treat them separately – see below. We assume that , ignoring steeper arcs (because steeper arcs do not cross more cells, namely more than cells). The flatness parameter , as just defined, determines the minimum width of a slab that can enclose , but nothing prevents us from using wider slabs, i.e., decrease the value of . To emphasize the role of the minimum width, we denote the parameter just defined as (an intrinsic parameter of the arc), and refer to it as the true flatness parameter of the arc. See Figure 3 for an illustration.
Maximal -steep subarcs.
We extend the notions of steepness and flatness to larger portions of the original curve . Concretely, assume, as above and with no loss of generality, that is concave and monotone increasing. Let be the tangent orientations of (with respect to the -axis) at its bottom and top endpoints, respectively. Let be the integers for which and . We then partition into arcs , so that the tangent orientations of each lie in , and refer to as a (maximal) -steep subarc (or portion) of . The flatness of is the sum of the flatness of its subarcs of intersections with the grid cells of that it crosses. The definition of steepness is easily seen to imply that crosses cells of . Indeed, if we consider the chord connecting the bottom and top endpoints of , we obtain a line segment whose slope (with respect to the -axis) lies in , so the -coordinate of the difference between the endpoints of is at most , and dividing by we get the asserted bound on the number of cells.
We now form444For simplicity, and with no real effect on the analysis, we ignore here rounding issues. families , where consists of all maximal -steep portions of curves from , for .555Note that this is slightly abusing the notation of from Section 2, which has a different meaning. We slightly modify the definition of the first and last families , , so that consists of all -steep portions whose tangent orientations lie in the range , and for this range is . As will follow, this modification does not harm our analysis. An important property of this partition is that the subfamilies are independent of , which will be crucial for the forthcoming analysis. In what follows, we bound the number of incidences with respect to each family separately, and then sum up these bounds over all such families. We comment that the bounds that we will obtain will depend on , and optimizing each of them will require a different choice of . Handling this multitude of values of requires some careful treatment; see below.
Narrow slabs.
Fix an index , and consider a maximal -steep subarc . Let be a cell that crosses. Clearly, the intersection is also -steep (it may be even steeper). Let be the turning angle (flatness) of . Again refer to Figure 3. If we can (that is, should) use slabs from to cover . Assume then that , and let be the integer for which (so is a -arc). Then we can cover by a (non-canonical) slab of width at least (see once again Figure 3). Note that we can use wider slabs to cover (the actual width will be determined in the forthcoming analysis).666There is a tradeoff in using wider slabs: their number is smaller but each of them contains more points. The analysis below will address this issue. Let be the integer parameter for the actual slab that we want to use (so its width is , where ). To cover by canonical slabs of this width, we need to use slabs rotated by multiples of the angle . But since is -steep in , the orientations that we need to use (with respect to the -axis) span an angular range of at most , so the total number of rotations is . For each canonical orientation, the number of slabs at that orientation (within the current cell) is proportional to divided by the width, so it is , for a total of -slabs, as we call them, in a cell, i.e., a total number of
| (10) |
-slabs. We also refer to these slabs as -slabs, when is not important (not to be confused with -slabs of ; see below and Section 2). We denote the family of these slabs as , and denote their union, over all , as , and over all and , as . We let denote the overall family of slabs.
Remark 5.
Note that it is crucial to apply the partition of into maximal -steep portions, which eventually reduces the total number of rotations from to . This yields a more refined bound on , which we later exploit when deriving the overall incidence bound.
Remark 6.
Again, we emphasize that the analysis depends on the flexibility to use wider slabs to cover a -arc, so we distinguish between the true flatness parameter of an arc and the actual parameter of the slabs that we use to cover the arc. In particular, the bound in (10) does not (explicitly) depend on the true flatness parameter .
For technical reasons, we do not want to use too large a value for (i.e., slabs that are too thin). Our actual choice is (recall that we must have )
| (11) |
Given a -steep (portion of a) curve , the number of cells from that it crosses is , as argued above. Alternatively, each -arc consumes of the turning angle (flatness) of , so crosses at most cells of (in which it behaves as a -arc). Note that in this argument we have to use the true flatness parameter . Hence the overall number of curve-slab interactions of this kind (that involve -slabs and -arcs) is
| (12) |
where is the number of -arcs that use for their cover. See Figure 4.
Preparing for the incidence analysis.
As before, within each slab we bound the number of incidences between the points of and the subfamily of the -steep curves (for each separately) that use for the cover of their portion within the cell of . In order to do so, we need, as before, (i) to estimate , and (ii) to construct, for each , a small-sized set of (canonical) slabs in that cover . Slabs in are handled in a simpler manner, similar to Section 2; see below. Task (ii) has already been addressed, so we mostly consider task (i), and briefly summarize (ii) afterwards.
Bounding the number of points in a slab.
We apply Pick’s theorem, as in Section 2, which now implies that, for a nondegenerate polygonal region whose vertices are grid points777Here the scaling of the area is, as it should be, by . , so, as long as is not a collinear set of points,
-
(i)
Let be a canonical -slab. Replace by the convex hull of . We then have
(13) -
(ii)
For a -slab , the same reasoning gives
(14)
Again, here refers (naturally) to the thickness of the actual slab and not to the true flatness parameter of any arc that uses the slab for its cover. These bounds hold as long as is not collinear, and provided that they are at least . Degenerate situations, when one of these assumptions does not hold, are handled as in Section 2. That is, if is collinear then contributes at most incidences, and the term in our bound takes care of this case too. Similarly, as in Section 2, when the bound on in (13) or (14) is smaller than , we take the bound to be instead. This does not violate the analysis (although some care is needed), as the bound that we derive subsumes the incident count in these cases – see below.
Covering a curve with canonical slabs.
For task (ii), we just summarize the preceding analysis, which shows that the number of cells for which is -steep and -flat is . Hence, the overall number of curve-slab interactions, for -slabs in and -arcs, for , is .
Incidences within slabs of .
The analysis involving slabs of is similar to that in Section 2, although some steps of the analysis need to be adjusted to the rectangular setup. Here the width of a slab is associated with the index (used in Section 2), which replaces the index used above. The analysis that we present below is a refinement of the analysis in Section 2, where we consider the interaction of -slabs with -steep curves. This refinement was not needed in Section 2, but is needed here due to the fact that a curve may cross cells of , as mentioned above.
Let be a maximal -steep curve, and let . We assume (otherwise we use slabs of to cover ), and let be the integer for which . Analogously to the notation and definitions used above, we say that is an -arc. Then we can cover by a (non-canonical) slab of width at least . As above, we can cover by canonical slabs of this width, which are rotated by multiples of the angle . But since is -steep in , the orientations that we actually use (with respect to the -axis) span an angular range of at most , so the total number of rotations in this case is . For each canonical orientation, the number of slabs at that orientation (within the current cell) is proportional to divided by the width, so it is , for a total of -slabs in a cell (this is a refinement of the definition of -slabs from Section 2), i.e., a total number of
| (15) |
-slabs. We denote the family of these slabs as , and denote their union, over all , as , and over all and , as .
Fix an -slab , let , and be the set of curves of that use in their cover (so their turning angles within the cell of that contains lie in ). Let denote the collection, over all -steep curves and -slabs , of the portions that use for their cover. That is, . As shown earlier, when is nondegenerate, we have in general
| (16) |
the cases where either is collinear, or where the bound in (16) is smaller than , are handled as before, namely the incidence bound is in both cases, where . We next bound, for a -steep curve , the number of cells that it crosses. Each -arc of consumes of the turning angle (flatness) of , and since is -steep it crosses at most cells of , in which it behaves as an -arc. Hence the overall number of curve-slab interactions that involve -slabs and -arcs is888Here there is no need to use wider slabs, as in the case of .
| (17) |
We now apply the incidence bound (5) to and , and obtain
Recall that . By summing this bound over all -slabs , we obtain
where is the upper bound in (16) (assuming it to be ). Next, using Hölder’s inequality, we obtain
Recall that we have , over , and . Substituting these bounds in the above inequality, we obtain
We sum these bounds over the values of . Since appears only in the denominators, we obtain decreasing geometric sums, which we can bound by their leading terms, in which . Denoting by the number of incidences within slabs of , we therefore obtain
| (18) |
Incidences within slabs of .
Consider next incidences within slabs , for a fixed index . Let be a -steep curve for which we need to use slabs of . To simplify the analysis, and with no loss of generality, assume that (i) is concave and monotone increasing, and (ii) enters through its bottom edge and leaves through its right or top edge, after having crossed cells of , for some .
Let be a cell of that crosses. We use the notations introduced earlier concerning the steepness and flatness of , and let and be the parameters for which is a -arc. (As already noted, may be steeper within , but we will, as we can, use the same steepness index for too.) As argued, can be enclosed by canonical -slabs, for any .
Recalling the bounds in (10), (12), and (14), the overall number of -slabs is , the number of points in a -slab is (assuming that this bound is ), and
Let denote the set of -arcs that use for their cover (so ). Again, we may assume that is not a collinear set of points, otherwise, the number of incidences is at most , as argued in Section 2. We also recall that the bound takes care of incidences within slabs for which the bound on is smaller than . Thus, we can now apply the incidence bound (5) to and , and obtain
Hence, fixing , denoting by the collection of all -arcs, and summing the above bound over the set of all -slabs that are used to cover -arcs, for any (fixed) , we obtain:
where refers to incidences within -slabs, and where, as before, in the first sum we replace the uniformly bounded quantities by their upper bound (assuming that this expression is ), over all . Next, using Hölder’s inequality, we obtain
| (19) |
We substitute , (assuming this bound to be ), and in (3). We bifurcate according to whether , and then write for , or , and then write for that expression.
When we obtain
| (20) |
When we obtain
| (21) |
In the former case, when we take , so the bound in (3) becomes
In the latter case, when we take , observe that , and
conclude that the bound in (3) becomes
That is, both expressions in (3) and (3) can be bounded by
| (22) |
(Note that this bound is independent of .) It is easy to verify that the bound in (22) dominates the bound (18) for the number of incidences within slabs of (for the same ). So we now continue the analysis using the bound (22).
We next choose to balance the two terms. That is, for fixed,
| (23) |
Before continuing, we note that we have different values of , which implies that we need to construct a different grid for every family . This, however, does not harm the analysis, since, as already noted, the families are independent of .
For each , for the choice of in (23) to make sense, we require that . When we replace it by , and when we replace it by . Since the values of form a geometric decreasing sequence, the requirement for each holds iff and . So it suffices to consider the extreme cases and .
Consider first the case . This constraint is:
| (24) |
Replacing by makes the second term in (22) dominate the first term. Hence, the incidence bound becomes in this case. Then, summing up over all pairs (recall that and ), we obtain a total incidence bound of . We comment, however, that when exceeds , we use instead the general bound in Proposition 4, which implies that the number of incidences is . (The lower bound in (24) exceeds when .)
Suppose next that exceeds . This implies that
Since we only consider the case , this implies that , which is impossible when (unless and are constants), and becomes when , and when . In these two latter cases we apply the general bound in Proposition 4, which in these cases is at most . Note that these are global bounds that do not depend on the type of the slabs in ( or .
In the remaining range, i.e., for , we reason as follows.
Due to the choice in (23), and using (22), the bound simply becomes
We next sum up this bound over all pairs , and obtain (recall that the actual sum is over all -slabs in , and thus the actual summation does not depend explicitly on ):
| (25) |
where is the overall number of incidences within slabs of .
We also recall that we need to add the bound , for the case where the curves in contain line-segments (see above). The proof of Theorem 2 now follows by combining all the above bounds, including the bounds derived for , and using the fact that .
4 Range Reporting for Point Sets of Bounded Spread
In this section we prove Theorem 3. Our construction is based on that of Afshani and Cheng [1], who obtained a similar space-query tradeoff bound for (online) semi-algebraic range reporting for points uniformly distributed in the unit square. Here we consider instead the case where the input set of points has spread . This setup requires some extra care, as we provide below.
The grid construction.
Let be a set of points in the plane of spread, that is, the ratio between the maximum and the minimum distances among pairs of points from is at most . (As already noted, this is asymptotically the smallest possible value of the spread of points in the plane.) Suppose, without loss of generality, that all the points of lie in the unit square . We now draw a uniform grid that fits within ; let us denote by the set of its vertices. Since the spread of is , each cell of contains only points of (or is empty), as is easily verified.
We next apply a similar grid construction as in Section 2, where now the parameter is the query time . For simplicity of presentation, we continue to denote it by . We partition the unit square into an uniform grid . As a result, we obtain a partition of into subsets, each confined to a grid cell of , which has side length and contains points of . Due to the bounded spread property, this also forms a partition of such that = , for each cell of . (Points on boundaries of cells of are assigned arbitrarily to one of the neighboring cells, as before.) We then construct, for each cell , a family of canonical slabs in an identical manner to that presented in Section 2. These slabs are used to cover portions of the boundaries of query ranges . We use the same notation as in Section 2, and denote by the set of all -slabs, for each , and put . We recall that .
In each slab we construct a range-reporting data structure for the set (see below for details). In what follows we first estimate , and then present the construction of the range-reporting data structure.
Bounding .
We first estimate and then show how to obtain a similar bound for . We apply Pick’s theorem as in Section 2, and use the notation there. That is, for a nondegenerate simple polygon with vertices of , we have , implying that . Then for a canonical -slab , we obtain (where is the convex hull of ):
As already noted, this bound holds as long as is not a collinear set of points, and the additive term is subsumed in this bound as long as is not too large. We next present an appropriate choice for , such that both of these properties hold:
Lemma 7.
If , for a sufficiently small constant , then, for each canonical slab , the set is not collinear.
Proof.
Let be the grid cell that contains . By the condition , the width of must be at least . If is sufficiently small, then must contain in its interior a grid square of (which is an axis-parallel square, whose vertices belong to ). Therefore, contains four points of , which are not at a collinear position.
We thus conclude that we always have , using the above choice of ; for this choice, the term is at least , which, in particular, dominates the additive term . Using the notation of Lemma 7, it is also easy to verify that each grid square of intersected by must have at least one vertex that lies inside . In other words, the number of grid squares intersected by is equal, up to a constant factor, to the number of grid points inside . Since each grid square contains points of , this also asymptotically bounds . In other words, we showed (for as above):
| (26) |
Since we rely on Lemma 7, we require that .
The data structure.
Let and be as in the statement of Theorem 3. We follow the analysis of [1] and construct a two-part data structure for that supports range reporting queries from , as follows. Let be a query range. At the first structure we efficiently report points that are close to , and at the second structure we use a simplex range reporting data structure with space complexity and query time, where is the output size. For the first task we use the above grid construction, where the parameter is the total query time-bound parameter that we aim to achieve.
As observed in [1], after covering by canonical slabs, the leftover (inner) portion of is a polygonal region, whose complexity is proportional to the number of slabs used to cover . Thus can be covered by triangles, whose number is proportional to that quantity. Specifically, we have triangles in each grid cell of crossed by , for a total of such triangles. The cells that are fully contained in are easier to handle, since all the points of in these cells belong to the output; we refer to [1] for the missing details. Hence, using simplex range reporting queries, we can report all the points of in . That is, the cost of this part is (as argued in [1]) time, where is the number of points from in . (Recall that we use space in this structure).
We thus focus on range reporting near the boundary of . Let us consider an -slab . Recall from the above discussion (and Section 2) that the corresponding parameter is , , and (see (26)). We now construct within a range-reporting data structure, with query time (where is the output size) and space complexity . Such a data structure is fairly standard and is obtained by duality, see [1] and the references therein. As argued in Section 2, uses at most -slabs for its cover, so the total query time overhead of this part is ; we refer to [1, Lemma 17] for further details concerning this property.
We thus conclude that the total space complexity is
Recall that due to the simplex range reporting data structure stored at our second structure, we need to add a factor of to the storage (and preprocessing) complexity. The threshold for in Theorem 3 follows from the threshold in Lemma 7. We also note that we require , as follows from standard properties of range search (see [1, 2]).
We comment that due to the second data structure, where we use simplex range reporting, the actual query time is , however, we can easily reduce it to by choosing (and keeping the storage complexity ), as is easily verified. This completes the proof of Theorem 3.
References
- [1] P. Afshani and P. Cheng. On semialgebraic range reporting. In Xavier Goaoc and Michael Kerber, editors, 38th International Symposium on Computational Geometry, SoCG 2022, June 7-10, 2022, Berlin, Germany, volume 224 of LIPIcs, pages 3:1–3:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022. doi:10.4230/LIPICS.SOCG.2022.3.
- [2] P. K. Agarwal. Simplex range searching. In M. Loebl, J. Nešetřil, and R. Thomas, editors, Journey Through Discrete Mathematics, pages 1–30. Springer Verlag, Heidelberg, 2017.
- [3] P. K. Agarwal, E. Nevo, J. Pach, R. Pinchasi, M. Sharir, and S. Smorodinsky. Lenses in arrangements of pseudo-circles and their applications. J. ACM, 51:139–186, 2004. doi:10.1145/972639.972641.
- [4] M. Aigner and G. M.Ziegler. Three applications of euler’s formula: Pick’s theorem. In Proofs from THE BOOK (6th ed.), pages 93–94. Springer, 2018.
- [5] B. Aronov and M. Sharir. Cutting circles into pseudo-segments and improved bounds for incidences. Discrete Comput. Geom., 28:475–490, 2002.
- [6] E. Bombieri and J. Pila. The number of integral points on arcs and ovals. Duke Math. Journal, 59(2):337–357, 1989.
- [7] G. Elekes. Sums versus products in number theory, algebra and Erdős geometry, volume 11 of Bolyai Soc. Math. Stud., pages 241–290. János Bolyai Math. Soc., Budapest, 2002.
- [8] B. Janzer, O. Janzer, A. Methuku, and G. Tardos. Tight bounds for intersection-reverse sequences, edge-ordered graphs and applications, 2024. arXiv:2411.07188.
- [9] T. Kóvari, V. Sós, and P. Turán. On a problem of K. Zarankiewicz. Colloquium Mathematicae, 3(1):50–57, 1954. URL: http://eudml.org/doc/210011.
- [10] A. Marcus and G. Tardos. Intersection reverse sequences and geometric applications. Journal of Combinatorial Theory, Series A, 113(4):675–691, 2006. doi:10.1016/j.jcta.2005.07.002.
- [11] J. Pach and M.Sharir. Geometric incidences. In J. Pach, editor, Towards a Theory of Geometric Graphs, volume 342 of Contemp. Math., pages 185–223. Amer. Math. Soc. Press, 2004.
- [12] M. Sharir and J. Zahl. Cutting algebraic curves into pseudo-segments and applications. J. Comb. Theory A, 150:1–35, 2017. doi:10.1016/J.JCTA.2017.02.006.
- [13] A. Sheffer. Polynomial Methods and Incidence Theory. Cambridge Studies in Advanced Mathematics. Cambridge University Press, 2022. doi:10.1017/9781108959988.
- [14] E. Szemerédi and W. T. Trotter Jr. Extremal problems in discrete geometry. Combinatorica, 3:381–392, 1983. doi:10.1007/BF02579194.
