Rectilinear Convex Hull with minimum area

Rectilinear Convex Hull with minimum area

Carlos Alegría-Galicia Universidad Nacional Autónoma de México, Posgrado en Ciencia e
Ingeniería de la Computación
   Tzolkin Garduño Universidad Nacional Autónoma de México, Posgrado en Ciencia e
Ingeniería de la Computación
   Areli Rosas-Navarrete Universidad Nacional Autónoma de México, Posgrado en Ciencia e
Ingeniería de la Computación
Carlos Seara
Universitat Politècnica de Catalunyathanks: Partially supported by projects MTM2009-07242, Gen-Cat-DGR2009GR1040
   Jorge Urrutia Universidad Nacional Autónoma de México, Instituto de Matemáticasthanks: Partially supported by projects MTM2006-03909 (Spain), and SEP-CONACYT of México, Proyecto 80268

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.

rectilinear convex hull, orthoconvexity, optimization

Carlos Alegría-Galicia, Tzolkin Garduño, Areli Rosas-Navarrete, Carlos Seara and Jorge Urrutia

1 Introduction

The interest in the rectilinear convex hull of planar point sets arises from the study of ortho-convexity [13], also known in the literature as rectilinear, x-y, or orthogonal convexity. This non-traditional 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 ortho-convex if its intersection with every horizontal or vertical line is connected. As it is easy to see, an ortho-convex set might be non-convex or disconnected. The latter property hinders the definition of an ortho-convex 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 ortho-convex, or mr-convex 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 half-panes whose supporting lines are orthogonal to each other. Let and denote respectively, the and coordinate axes counter-clockwise 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


The Rectilinear Convex Hull of is the set


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 orientation-dependent shape.

Figure 1: changes along with .

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íaz-Báñez et al. [5]. Our result improves the time complexity solution presented recently by Bae et al. [2].

Outline of the paper.

In Section 2 we show how to compute and maintain over all the -orientations of the plane. In Section 3 we present the algorithm for computing a -orientation for which has minimum area. Finally, in Section 4 we discuss our concluding remarks.

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 counter-clockwise 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 out-events 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.

Figure 2: A set and .
Theorem 2.1 (Díaz-Bañ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 out-events, 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 ortho-convex 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 .

(a) Full interval start
(c) Full interval end
Figure 3: An overlap disconnects . The ends of the overlap full interval.

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 out-events [2], they have to be computed independently.

2.2 Overlaps characterization

As the -orientation of the plane rotates counter-clockwise 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.

(a) In-event
(c) Out-event
Figure 4: The apexes path as the -orientation changes.
Definition 1

The arc-chain 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 arc-chain can be computed using the in- and out-events 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 out-events 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).

Figure 5: The interval of orientations of an arc.

Let , be the set of edges of the convex hull of in counter-clockwise 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 counter-clockwise 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 arc-chain. 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).

Figure 6: The interval of orientations of an overlap .

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, .

Figure 7: The arc-chain of .

As a consequence of Lemma 2, any link is contained in the disk that has the segment as diameter (the link-disk ), thus the number of links that intersect the link-disk 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 link-disk , there is a constant number of links with diameter greater than that intersect .

Figure 8: Construction to count the links in that intersect another link
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 .


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.

Figure 9: A link can be intersected by at most five links contained in some .

As a consequence of lemmas 2, 3 and 4, we have:

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 stop-events 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.

Figure 10: Ejemplo de cadenas intercaladas

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.


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).

(a) The polygon
(c) Out-event
Figure 11: Updating the area of the polygon

It takes time to compute the area of the polygon for the first time. This polygon changes with each in- and out-event. 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).

(a) In-event
(c) Out-event
Figure 12: Updating the area of the polygon

Using the in and out-event 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 in-event two triangles are added to the list and a triangle is deleted form it and the same amount of triangles changes on each out-event.

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 stop-events.

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.


  • [1] Avis, D., Beresford-Smith, 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, H-K., Choi, S., Chwa, K-Y.: Computing minimum-area rectilinear convex hull and L-shape. 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 C-28, 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. Springer-Verlag Berlin, Heidelberg (2008)
  • [5] Díaz-Báñez, J.M., López, M.A., Mora, M., Seara, C., Ventura, I.: Fitting a two-joint orthogonal chain to a point set. Computational Geometry: Theory and Applications Vol. 44 Iss. 3, 135–147 (2011)
  • [6] Fink, E., Wood, D.: Strong restricted-orientation convexity. Geometriae Dedicata Vol. 69, 35–51 (1998)
  • [7] Franěk, V., Matousěk, J.: Computing D-convex 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.: O-convexity: 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., Soisalon-Soisinen, 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. Springer-Verlag (1985)
  • [13] Rawlins, G.J.E., Wood, D.: Ortho-convexity 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., North-Holland (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. Wiley-Interscience (2001)
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description