Rectilinear Convex Hull with minimum area
Abstract
Let be a set of points in . We solve the problem of computing an orientation of the plane for which the rectilinear convex hull of has minimum area in optimal time and space.
Keywords:
rectilinear convex hull, orthoconvexity, optimizationCarlos AlegríaGalicia, Tzolkin Garduño, Areli RosasNavarrete, Carlos Seara and Jorge Urrutia
1 Introduction
The interest in the rectilinear convex hull of planar point sets arises from the study of orthoconvexity [13], also known in the literature as rectilinear, xy, or orthogonal convexity. This nontraditional notion of convexity has been widely studied since its formalization in the early eighties, and has found applications in theoretical research fields such as polyhedra reconstruction [15] and fixed point theory [16], as well as in the study of practical problems such as digital image shape analysis [4] and VLSI circuit layout design [14].
A set is said to be orthoconvex if its intersection with every horizontal or vertical line is connected. As it is easy to see, an orthoconvex set might be nonconvex or disconnected. The latter property hinders the definition of an orthoconvex closure that resembles the properties of the traditional convex hull and as a consequence, several definitions have been presented by different authors [11]. Throughout this paper, we will use the maximal orthoconvex, or mrconvex hull stated by Ottmann et al. [11] (see also Matousěk et al. [10]), which is defined as follows.
An orthogonal wedge is the intersection of two open halfpanes whose supporting lines are orthogonal to each other. Let and denote respectively, the and coordinate axes counterclockwise rotated by degrees. We call orientation to the coordinate system formed by and . An orthogonal wedge is an orthogonal wedge whose supporting lines are parallel to the axes of the first quadrant of the orientation of the plane. Hereafter, let denote a set of points in general position (i.e., no three collinear points in ). An orthogonal wedge is called free if it does not contain points of . Let be the set of all free orthogonal wedges, and be the set
(1) 
The Rectilinear Convex Hull of is the set
(2) 
Figure 1LABEL:sub@fig:intro:orientation_1 shows the rectilinear convex hull of a point set. Note in Figure 1LABEL:sub@fig:intro:orientation_2 that the set changes along with and thus, is an orientationdependent shape.
From this property, several optimization problems naturally arise for when considering the complete set of orientations of the plane. In this paper we consider the problem of computing a value of for which has minimum area. We show that the set can be divided into an ordered set
of intervals such that, we can compute the angle which minimizes the area of in time. We perform the computation of the angle of optimal area for the subsequent intervals in constant time. To obtain the set of intervals we use optimal time and space. Our work is based on techniques from Bae et al. [2], Avis et al. [1], and DíazBáñez et al. [5]. Our result improves the time complexity solution presented recently by Bae et al. [2].
Outline of the paper.
2 The Unoriented Rectilinear Convex Hull
In this section we present an algorithm to compute and maintain over all orientations of the plane in time.
2.1 Preliminaries
A vertex of is a point in that lies on the boundary of . For any fixed , the computation of has a close relation to the Set Maxima Problem [8, 12], since the set of vertices of is equal to the set of maximal points of with respect to vector dominance in the four quadrants defined by and [2, 11].
Since we can specify using , it is possible to keep track of the changes in the set of vertices of over all orientations in the plane, by maintaining as the plane rotates in a counterclockwise direction. The maintenance of this set can be done using the results given in [1, 5] in the manner we describe bellow.
We call apex of an orthogonal wedge to the intersection point of its supporting lines. Every point is the apex of a free orthogonal wedge contained in . Figure 2 shows us a point that is vertex of in the interval , and the orthogonal and wedges with apex in . The endpoints of mark the in and an outevents of , i.e., the values of when belongs and stops being in . Moreover, a point can be the apex of an orthogonal wedge during at most three intervals of orientations.
Theorem 2.1 (DíazBañez et al. [5])
The set of intervals of orientations in which the elements of are maximal with respect to vector dominance, and the ordered set of in and outevents, can be computed in optimal time and space.
Let us denote by to the set of maximal points of in the first quadrant defined by and . Since is an orthoconvex set, it is monotone with respect to . Thus, the points of in can be relabelled as in increasing order according to . Let denote the free orthogonal wedge supported by two consecutive points . We say that two wedges and are opposite to each other. Note in Figure (b)b that, if the intersection of and is non empty, then is disconnected. In such case we say that and overlap, and denote its intersection as .
Let be the set of all overlaps of in the orientation of the plane. It is easy to see that can be computed from in time. Thus, can be computed in time and space [8, 12] for a fixed value of .
To maintain the set we will compute an ordered list of angles that resembles the one computed for the in and out events. Since overlap events do not necessarily match up with in or outevents [2], they have to be computed independently.
2.2 Overlaps characterization
As the orientation of the plane rotates counterclockwise from to , the apex of every free orthogonal wedge supported by at least two points in traces a circular arc that can be oriented as shown in Figure 4.
Definition 1
The arcchain of is the closed curve formed by the union of the set of arcs traced by the apexes of the wedges supported by at least two elements of which belong to for some .
The arcchain can be computed using the in and outevents list in time, since every arc is a segment of a circumference with diameter in consecutive points of the sets and , and for every arc, its ends correspond to the in and outevents of one of the points determining the diameter of the circumference to which the arc belongs (see Figures (a)a and (c)c). Thus, each arc can be associated with an interval of orientations in which, the wedge that traces the arc, is part of the rectilinear convex hull (see Figure 5).
Let , be the set of edges of the convex hull of in counterclockwise order. A subchain is a subsequence of consecutive elements of , whose endpoints are the endpoints of a convex hull edge . It is easy to see that is monotone in the direction determined by . Thus, the orthogonal projection of on defines a total order () on the set of endpoints of its arcs. Moreover, using the convex hull edges and (), it is possible to label the arcs in starting by the leftmost point of in counterclockwise order, in such a way that (Figure (a)a). Let us consider that the ends of the arcs in any subchain are labeled as such that if , then . A link is a subsequence of such that for , , and .
Now we characterize an overlap using the arcchain. Consider four points and that support two overlapping wedges (Figure 3). Let us observe that if two opposite wedges in overlap, since these wedges are free, the arcs traced by their apices belong to links that intersect (see Figure (a)a). Now, the overlap between the wedges and is possible only in an interval where the orientation is parallel to the segment and in orientation the axis is parallel to the segment , see Figures (a)a and (c)c, respectively. We call full overlap interval to this interval of orientations and we say that this interval is a proper interval when .
Any arc corresponds, for some interval , to a particular free orthogonal wedge, for every (Figure 5). It is important to notice that is different from the intervals of the points that support , indeed is contained in the intersection of the intervals of these points.
Since an overlap is possible only between opposite wedges, in order to determine if two given arcs admit opposite wedges, we define the facing interval for them as the interval .
Lemma 1
(An overlap interms of arcs) Given two arcs and , with its corresponding intervals and . Let denote the orthogonal wedge whose apex traces for and let denote the respective wedge of for any . This wedges overlap if and only if the full overlap interval is proper, the facing interval is not empty and the intersection between the full overlap interval and the facing interval is a proper interval.
Then, if there is an overlap between the wedges of two given arcs, the interval of the overlap is the intersection between the full interval, the facing interval, and the intervals of both arcs.
Let be the the interval of for which and overlap. We call the ends of the start and stop events of . The thick arc segments show the overlap interval in Figure 5).
Once we have characterized the overlaps, let us notice that if an overlap takes place, then the links that contain the arcs involved in the overlap had intersected. In consequence, it is possible to compute the overlaps and its corresponding events by computing the intersection points between links, but before using the intersections, it is critical to show that there are intersection points between links in order to keep the algorithm subquadratic. The following paragraphs show some properties that help us to show the linear number of intersections between links in the arc chain.
Using the fact that every point in any subchain is an apex of an orthogonal free wedge, the following lemma follows easily:
Lemma 2
Let such that . Then, .
As a consequence of Lemma 2, any link is contained in the disk that has the segment as diameter (the linkdisk ), thus the number of links that intersect the linkdisk is greater than or equal to the number of links that intersect . We denote by to the diameter of .
Let be the set of disks such that has the convex hull edge as a diameter and radius . Using a result given in [1] we show the following lemma.
Lemma 3
Given , the disk that has as diameter and radius is intersected by at most 28 disks such that .
Into each of the disks in that intersect a linkdisk , there is a constant number of links with diameter greater than that intersect .
Lemma 4
Let be a disk of radius that intersects some given link disk of radius . There are at most five links in that intersect with diameter greater than .
Proof
Let be the closed region bounded by the lines that project on the line that crosses the endpoints of (see Figure 8), since subchains are monotone, then the links in that intersect must have at least one endpoint in .
Now let us consider the links of with endpoints in . For simplicity we suppose that all these links have greater diameter than . It is easy to see that in order to have many links into region , the endpoints of the links should be placed in the configurations showed in Figure 9. The configuration showed by Figure (a)a, considers three points such that is a peak (i. e. the distances from the other points to are smaller then the distance between and ). In this case, with the help of a circle with diameter parallel to and lenght that passes through it is possible to show that if must be at distance grater than from and from then cannot be part of a link in , since the angle would be less than , contradicting Lemma 2.
Since there are no crests into region , there is at most one valley, like the one showed in Figure (b)b, therefore there are at most five links in that intersect .
The open area bounded by and is free since it is covered by free wedges. Thus, two intersecting links have at least two intersection points, and by Lemma 2 this number is tight, as none of the intersecting links can cross a line segment joining its intersection points.
Lemma 5
Any link is intersected at most 280 times by links of diameter greater than or equal to .
Considering the previous results, and that we have a linear number of links, we have the following result that is a central tool for computing the start and stopevents list in time.
Theorem 2.2
There are intersections between links in .
2.3 Computing the start and stop events
Since in the previous section it has been proved that there are a linear number of intersection points between arcs, in this section we describe how to compute the start and stop overlap event list.
Let us color the arcs in in the following way: red if the arc belongs to a subchain that corresponds to an edge in the upper chain of the convex hull, and the arc will be blue otherwise. Then we compute the bichromatic intersections using the Bentley and Ottmann plane sweep algorithm [3] in .
Every intersection point will be associated with the respective links. After sorting these intersection points lexicographically according to the labels of the links involved in the intersection, we will be able to track corresponding pairs of links (Figure 10), since this links correspond to a couple of intersection points that involve the same links. We say that each of this couples form an alternate link.
For each alternate link let be the set of red arcs and the set of blue arcs comprised in the alternate link.
Let us recall that an arc is associated with an interval of orientations . We say that is the endpoint and is the endpoint of the interval. Using these intervals we can verify if the conditions of Lemma 1 are fulfilled. Bellow we describe how the verification is done in time.
Let us consider two functions: A boolean function that will accept a couple of arcs as parameters and will return true if the conditions for Lemma 1 are fullfilled by both arcs. And function that takes two arcs and returns the interval of orientations in which the overlap takes place between the arcs. Each overlap interval, the corresponding arcs and the points of that support the wedges that overlap, are stores in an ordered list that we call .

searchOverlap(, )
Lemma 6
Computational complexity of searchOverlap is , where and are the number of arcs in the alternate link.
Proof
The algorithm finishes when at least one of the chains has been completely traversed. On each iteration is its possible to leave behind one arc of one link. Functions and take constant time to execute each time.
3 Minimum area algorithm
The list of event points obtained in the previous sections generate a set of angular intervals , in which the set of vertices of and the set of overlaps in remains unchanged.
For any , the area of is given by the formula in [2]. The formula has three main components: the first is a polygon constructed by joining counterclockwise consecutive vertices of (Figure (a)a), the second is the sum of the areas of triangles formed by consecutive vertices of and the apex of the free wedge that they support (Figure (b)b), finally the third one is the sum of the overlaps area (Figure (c)c).
It takes time to compute the area of the polygon for the first time. This polygon changes with each in and outevent. Let us say that a point is getting in the , between points (see Figure (a)a). The area of the polygon that includes can be computed in constant time from the area of the previous polygon by subtracting the area of the triangle (Figure (b)b). In the out event of , the area can be computed adding the area of the same triangle (Figure (c)c).
Using the in and outevent list, it is possible to compute the set of triangles that conform the second element of the formula. This list has a linear number of changes, since on each inevent two triangles are added to the list and a triangle is deleted form it and the same amount of triangles changes on each outevent.
The areas of the overlaps can be computed in a way similar to the triangles, but with the help of the ordered list of start and stopevents.
For each interval without changes, we update the corresponding values of the formula in constant time by subtracting or adding new constant values.
There can be more than one orientation in which has minimum area, but our algorithm is able to report them all.
From the discussion above, and the fact that the convex hull of can be computed from the rectilinear convex hull of in time, we obtain the following:
Theorem 3.1
Computing the set of orientations for which the rectilinear convex hull of has minimum area, can be done in optimal time and space.
4 Concluding remarks
We have proved that the orientation in which has minimum area can be obtained in optimal time, since with the help of time preprocessing it is possible to maintain as the orientation changes from cero to .
Our result improves the quadratic algorithm given by Bae et al. [2]. It would be interesting to apply this results to optimization problems in bichromatic sets, like finding the orientation in which the rectilinear convex hull of the red points is empty of blue points or contains the minimum number of blue points, and the minimum or maximum area rectilinear red convex hull, for example.
It is almost immediate to extend this algorithm to dynamic pointsets and it would be very interesting to consider the problem of maintaining the rectilinear hull of a moving pointset.
References
 [1] Avis, D., BeresfordSmith, B., Devroye, L., Elgindy, H., Guévremont, E., Hurtado, F., Zhu, B.: Unoriented maxima in the plane: complexity and algorithms. SIAM J. Comput. Vol. 28 Iss. 1, 278–296 (1999)
 [2] Bae, S.W., Lee, C., Ahn, HK., Choi, S., Chwa, KY.: Computing minimumarea rectilinear convex hull and Lshape. Computational Geometry: Theory and Applications Vol. 42 Iss. 3, 903–912 (2009)
 [3] Bentley, J., Ottmann, T.: Algorithms for reporting and counting geometric intersections. IEEE Trans. Computers C28, 643–647 (1979)
 [4] Biswas, A., Bhowmick, P., Sarkar, M., Bhattacharya, B.B.: Finding the orthogonal hull of a digital object: a combinatorial approach. In: Proceedings of the International Conference on Combinatorial Image Analysis, pp. 124–135. SpringerVerlag Berlin, Heidelberg (2008)
 [5] DíazBáñez, J.M., López, M.A., Mora, M., Seara, C., Ventura, I.: Fitting a twojoint orthogonal chain to a point set. Computational Geometry: Theory and Applications Vol. 44 Iss. 3, 135–147 (2011)
 [6] Fink, E., Wood, D.: Strong restrictedorientation convexity. Geometriae Dedicata Vol. 69, 35–51 (1998)
 [7] Franěk, V., Matousěk, J.: Computing Dconvex hulls in the plane. Computational Geometry: Theory and Applications Vol. 42, 81–89 (2009)
 [8] Kung, H.T., Luccio, F., Preparata, F.P.: On finding the maxima of a set of vectors. Journal of the ACM Vol. 22, 469–476 (1975)
 [9] Martynchik, V., Metelski, N., Wood, D.: Oconvexity: computing hulls, approximations, and orientation sets. In: Proceedings of the Canadian Conference on Computational Geometry, pp. 2–7. Carleton University Press (1996)
 [10] Matoušek, J., Plecháč, P.: On functional separately convex hulls. Discrete and Computational Geometry Vol. 19, 105–130 (1998)
 [11] Ottman, T., SoisalonSoisinen, E., Wood D.: On the definition and computation of rectilinear convex hulls. Information Sciences Vol. 33, 157–171 (1984)
 [12] Preparata, F., Shamos, M.I.: Computational Geometry: An Introduction. SpringerVerlag (1985)
 [13] Rawlins, G.J.E., Wood, D.: Orthoconvexity and its generalizations. In: Toussaint, G.T. (editor). Computational Morphology: A Computational Geometric Approach to the Analysis of Form, pp. 137–152. Elseiver Science Publishers B.V., NorthHolland (1988)
 [14] Uchoa, E., De Aragão, M.P., Ribeiro, C.C.: Preprocessing Steiner problems from VLSI layout. Networks Vol. 40 Iss. 1, 38–50 (2002)
 [15] Biedl, T., Genç, B.: Reconstructing orthogonal polyhedra from putative vertex sets. Computational Geometry: Theory and Applications Vol. 44 Iss. 8, 409–417 (2011)
 [16] Khamsi, M.A., Kirk, W.A.: An introduction to metric spaces and fixed point theory. WileyInterscience (2001)