Minimum-Width Double-Strip and Parallelogram Annulus

In this paper, we study the problem of computing a minimum-width double-strip or parallelogram annulus that encloses a given set of $n$ points in the plane. A double-strip is a closed region in the plane whose boundary consists of four parallel lines and a parallelogram annulus is a closed region between two edge-parallel parallelograms. We present several first algorithms for these problems. Among them are $O(n^2)$ and $O(n^3 \log n)$-time algorithms that compute a minimum-width double-strip and parallelogram annulus, respectively, when their orientations can be freely chosen.


Introduction
The minimum-width annulus problem asks to find an annulus of a certain shape with the minimum width that encloses a given set P of n points in the plane.An annulus informally depicts a ring-shaped region in the plane.As the most natural and classical example, a circular annulus is defined to be the region between two concentric circles.If one wants to find a circle that best fits an input point set P , then her problem can be solved by finding out a minimum-width circular annulus that encloses P .After early results on the circular annulus problem [13], the currently best algorithm that computes a minimum-width circular annulus that encloses n input points takes O(n 3 2 + ) time [3,4] for any > 0. Analogously, such a problem of matching a point set into a closed curve class can be formulated into the minimum-width annulus problem for annuli of different shapes.
Along with applications not only to the points-to-curve matching problem but also to other types of facility location, the minimum-width annulus problem has been extensively studied for recent years, with a variety of variations and extensions.Abellanas et al. [1] considered minimum-width rectangular annuli that are axis-parallel, and presented two algorithms taking O(n) or O(n log n) time: one minimizes the width over rectangular annuli with arbitrary aspect ratio and the other does over rectangular annuli with a prescribed aspect ratio, respectively.Gluchshenko et al. [9] presented an O(n log n)-time algorithm that computes a minimum-width axis-parallel square annulus, and proved a matching lower bound, while the second algorithm by Abellanas et al. can do the same in the same time bound.If one considers rectangular or square annuli in arbitrary orientation, the problem becomes more difficult.Mukherjee et al. [12] presented an O(n2 log n)-time algorithm that computes a minimum-width rectangular annulus in arbitrary orientation and arbitrary aspect ratio.The author [5] showed that a minimumwidth square annulus in arbitrary orientation can be computed in O(n 3 log n) time, and recently improved it to O(n 3 ) time [6].
In this paper, we consider a more generalized shape, namely, parallelograms, and annuli based on them in fixed or arbitrary orientation, which have at least one more degree of freedom than square and rectangular annuli have.More precisely, we define a parallelogram annulus as a closed region between two edge-parallel parallelograms, and address the problem of computing a minimum-width parallelogram annulus that encloses the input point set P .(See Figure 1(c).)We consider several restricted cases of the problem about two orientations of sides of parallelogram annuli.Our main results are summarized as follows: (1) When both orientations for sides are fixed, a minimum-width parallelogram annulus that encloses P can be computed in O(n) time.
(2) When one orientation for sides is fixed and the other can be chosen arbitrarily, a minimumwidth parallelogram annulus that encloses P can be computed in O(n 2 ) time.(3) A minimum-width parallelogram annulus that encloses P over all pairs of orientations can be computed in O(n 3 log n) time.
To obtain these algorithms for the problem, we also introduce another geometric optimization problem, called the minimum-width double-strip problem, which asks to compute a doublestrip of minimum width that encloses P .A double-strip is defined to be the union of two parallel strips, where a strip is the region between two parallel lines in the plane.(See Figure 1(b).)We show that this new problem is closely related to the parallelogram annulus problem.The minimum-width double-strip problem has its own interest as a special case of the two-line center problem, in which one wants to find two strips, possibly being non-parallel, that encloses P and minimizes the width of the wider strip.After the first sub-cubic algorithm is presented by Agarwal and Sharir [2], the currently best algorithm for the two-line center problem takes O(n 2 log 2 n) time [8,11].
To our best knowledge, however, no nontrivial result on the double-strip problem is known in the literature.In this paper, we obtain the following algorithmic results: (4) A minimum-width double-strip that encloses P over all orientations can be computed in O(n 2 ) time.(5) We also consider a constrained version of the problem in which a subset Q ⊆ P with k = |Q| is given and one wants to find a minimum-width double-strip enclosing Q such that all points of P should lie in between its outer boundary lines.We show that this can be solved in O(n log n + kn) time.(6) We further address some online and offline versions of the dynamic constrained double-strip problem under insertions and/or deletions of a point on the subset Q to enclose.
The rest of the paper is organized as follows: Section 2 introduces necessary definitions and preliminaries.Section 3 is devoted to solve the minimum-width double-strip problem and present an O(n 2 ) time algorithm, which is generalized to the constrained double-strip problem in Section 4. The minimum-width parallelogram annulus problem is finally discussed and solved in Section 5. Strips and double-strips.For two parallel lines and in the plane R 2 , the distance between and denotes the length of any line segment that is orthogonal to and and have endpoints one on and the other on .A strip is a closed region bounded by two parallel lines in the plane.For any strip S, its width w(S) is the distance between its bounding lines, and its middle line µ(S) is the line parallel to its bounding lines such that the distance between µ(S) and each of the bounding lines is exactly half the width w(S) of S. See Figure 1

(a).
A double-strip is the union of two disjoint parallel strips of equal width, or equivalently, is a closed region obtained by a strip S subtracted by the interior of another strip S such that µ(S) = µ(S ) and S ⊆ S. For any double-strip defined by two strips S and S in this way, S is called its outer strip and S its inner strip.The width of such a double-strip D, denoted by w(D), is defined to be half the difference of the widths of S and S , that is, w(D) = (w(S) − w(S ))/2.See Figure 1

(b).
Parallelogram annuli.A parallelogram is a quadrilateral that is the intersection of two nonparallel strips.We define a parallelogram annulus to be a parallelogram R with a parallelogram hole R , analogously as a circular annulus is a circle with a circular hole.Here, we add a condition that the outer and inner parallelograms R and R should be side-wise parallel.There are several ways to define such a parallelogram annulus, among which we introduce the following definition.A parallelogram annulus A is defined by two double-strips D 1 and D 2 as follows: 1.The outer parallelogram R of A is the intersection of the outer strips of D 1 and D 2 .2. The inner parallelogram R of A is the intersection of the inner strips of D 1 and D 2 .

The parallelogram annulus
A is the closed region between R and R , that is, A = R\intR .4. The width of A, denoted by w(A), is taken to be the bigger one between the widths of D 1 and D 2 , that is, w(A) = max{w(D 1 ), w(D 2 )}.
See Figure 1(c) for an illustration.
The main purpose of this paper is to solve the minimum-width parallelogram annulus problem in which we are given a set P of points in the plane and want to find a parallelogram annulus of minimum width that encloses P .As discussed above, a parallelogram annulus is closely related to strips and double-strips.The minimum-width double-strip problem asks to find a double-strip of minimum width that encloses P in fixed or arbitrary orientation.
Orientations and the width function.The orientation of a line or line segment in the plane is a value θ ∈ [−π/2, π/2)1 such that the rotated copy of the x-axis by θ counter-clockwise The θ-aligned strip defined by p and q, and its width σ θ (p, q).(b) The antipodal pair (χ is parallel to .If the orientation of a line or line segment is θ, then we say that the line or line segment is θ-aligned.A strip or a double-strip is also called θ-aligned for some θ ∈ [−π/2, π/2) if its bounding lines are θ-aligned.A parallelogram or a parallelogram annulus is (θ, φ)-aligned if it is defined by two double-strips that are θ-aligned and φ-aligned, respectively.
For any two points p, q ∈ R 2 , let pq denote the line segment joining p and q, and |pq| denote the Euclidean length of pq.We will often discuss the strip defined by two parallel lines through p and q, and its width.Let σ θ (p, q) be the width of the strip defined by two θ-aligned lines through p and q, respectively.It is not difficult to see that where θ pq ∈ [−π/2, π/2) denotes the orientation of pq.See Figure 2(a).
A single-variate function of a particular form a sin(θ + b) for some constants a, b ∈ R with a = 0 is called sinusoidal function (of period 2π).Obviously, the equation a sin(θ + b) = 0 has at most one zero over θ ∈ [−π/2, π/2).The following property of sinusoidal functions is well known and easily derived.
Lemma 1 The sum of two sinusoidal functions is also sinusoidal.Therefore, the graphs of two sinusoidal functions cross at most once over [−π/2, π/2).
Extreme points and antipodal pairs.Let P be a finite set of points in R 2 , and let conv(P ) be its convex hull.The corners of conv(P ) are called extreme of P .For each θ ∈ [−π/2, π/2), let S(θ) be the minimum-width θ-aligned strip enclosing P .Then, the two lines that define S(θ) pass through two extreme points of P , one on each.More precisely, let + (θ) and − (θ) be the two lines defining S(θ) such that + (θ) lies above − (θ) if θ = −π/2, or + (θ) lies to the right of − (θ) if θ = −π/2.There must be an extreme point of P on each of the two lines + (θ) and − (θ), denoted by χ + (θ) and χ − (θ).If there are two or more such points of P , then we choose the last one in the counter-clockwise order along the boundary of conv(P ).The width of S(θ) is equal to σ θ (χ + (θ), χ − (θ)).

Minimum-Width Double-Strips
In this section, we address the problem of computing a minimum-width double-strip that encloses a given set P of n points in R 2 .
We start with the problem in a given orientation θ ∈ [−π/2, π/2).Let w(θ) be the minimum possible width of a θ-aligned double-strip enclosing P .The following observation can be obtained by a simple geometric argument.
Proof.Let D be a minimum-width θ-aligned double-strip enclosing P .Let S 1 and S 2 be the two strips such that D = S 1 ∪ S 2 .If the boundary of S 1 does not contain an extreme point of P , then we can slide S 1 inwards until its boundary hits an extreme point of P .Let S 1 be the resulting strip after this sliding process.Then, we have S 1 ∩ P ⊂ S 1 .In the same way, we slide S 2 until the boundary of S 2 hits an extreme point of P , and let S 2 be the resulting strip.Then, it holds that S 2 ∩ P ⊂ S 2 .As a result, P ⊂ (S 1 ∪ S 2 ) since P ⊂ (S 1 ∪ S 2 ).Note that the outer strip of the double-strip D := S 1 ∪ S 2 is exactly S(θ), the minimum-width θ-aligned strip enclosing P .Now, let S be the inner strip of D .By definition, we have µ(S(θ)) = µ(S ).Suppose that the inner strip S of D is not equal to S (θ), the maximum-width θ-aligned strip such that its interior is empty of any point in P and µ(S (θ)) = µ(S(θ)).Then, the boundary of S does not contain any point of P .Hence, the width of S (θ) is strictly larger than the width of S , a contradiction that D is of minimum width.Therefore, the inner strip of D should be S (θ).
Proof.In this proof, we describe our algorithm that computes D(θ).Given θ, one can compute the two extreme points χ + (θ) and χ − (θ) in O(n) time by computing the minimum and maximum among the inner products of (cos(θ + π/2)), sin(θ + π/2)) and all points in P as vectors.The antipodal pair also determines the outer strip S(θ).
After identifying χ + (θ) and χ − (θ), the value of d p (θ) for each p ∈ P can be computed in O(1) time.Hence, w(θ) = max p∈P d p (θ) can be found in additional O(n) time.This determines the inner strip S (θ).
Next, we turn to finding a minimum-width double-strip over all orientations.This is equivalent to computing the minimum value of w(θ) over θ ∈ [−π/2, π/2), denoted by w * .Let θ * be an optimal orientation such that w(θ * ) = w * .Consider the corresponding double-strip D(θ * ) whose outer strip is S(θ * ) and inner strip is S (θ * ), as described in Observation 1.We then observe the following for the minimum-width double-strip D(θ * ) enclosing P .
Lemma 2 Let θ * be an orientation such that w(θ * ) = w * .Then, either (a) three extreme points of P lie on the boundary of S(θ * ), or (b) two points of P lie on the boundary of S (θ * ).
Proof.From Observation 1, we know that the boundary of S(θ * ) contains at least two points, χ + (θ * ) and χ − (θ * ), while the boundary of S (θ * ) contains at least one point q ∈ P that maximizes d p (θ * ) over p ∈ P .
Suppose that there is no more point in P lying on the boundary of S(θ * ) or of S (θ * ).Without loss of generality, we assume that q lies above µ(S(θ)).This implies that the width of Since there is no more extreme point on the boundary of S(θ * ), there is θ sufficiently close to θ * such that d q (θ ) < d q (θ * ).In addition, since there is no more point on the boundary of S (θ * ), we indeed have a strict inequality d p (θ * ) < d q (θ * ) and hence d p (θ ) < d q (θ ) for all p ∈ P \ {q}.This implies that a contradiction.Hence, there must be one more point in P on the boundary of S(θ * ) or of S (θ * ), implying the lemma.
Regard d p (θ) as a function of θ in domain [−π/2, π/2).This function depends on the antipodal pair of extreme points (χ + (θ), χ − (θ)) for θ.Since there are O(n) antipodal pairs [14], the function d p for each p ∈ P is piecewise sinusoidal with O(n) breakpoints.The width function w(θ) is the upper envelope of the n functions d p (θ) for p ∈ P , consisting of O(n 2 ) sinusoidal curves in total.Thus, we can compute the minimum width w * = min θ∈[−π/2,π/2) w(θ) by computing the upper envelope of these O(n 2 ) sinusoidal curves and finding a lowest point in the envelope.Since any two sinusoidal curves cross at most once by Lemma 1, this can be done in O(n 2 log n) time [10].The width function w is piecewise sinusoidal with O(n 2 α(n)) breakpoints, where α denotes the inverse Ackermann function.and its lowest point always occurs at one of the breakpoints by Lemma 2. Hence, O(n 2 log n) time is sufficient to solve the problem.
In order to analyze and specify the change of pair (q + (θ), q − (θ)) as θ continuously increases from −π/2 to π/2, we adopt an interpretation under a geometric dualization [7,Chapter 8].We shall call the plane R 2 -in which we have discussed objects so far-the primal plane with the xand y-axes.Let D be another plane, called the dual plane, with u-and v-axes that correspond to its horizontal and vertical axes, respectively.Here, we use a standard duality transform which maps This duality transform is also defined in the reversed way for points and lines in the dual plane D to be mapped to lines and points in the primal plane R 2 , so that we have (p ) = p and ( ) = for any point p and any non-vertical line either in R 2 or in D. We say that a geometric object and its image under the duality transform are dual to each other.Note that p lies above (on or below, resp.) if and only if lies above (on or below, resp.)p .

Scenes from the dual plane
Suppose that the input point set P is given in the primal plane R 2 .Consider the set P := {p | p ∈ P } of n lines in the dual plane D and their arrangement A := A(P ).See Figure 3 for illustration.Let U and L be the upper and lower envelopes in A .The envelopes U and L can also be considered as two functions of u ∈ R; in this way, U(u) and L(u) are the v-coordinates in D of points on U and L, respectively, at u ∈ R. Let M(u) := (U(u) + L(u))/2 be the v-coordinates of the midpoint of the vertical segment connecting L and U at u ∈ R. Similarly, we regard M as the function itself and simultaneously as its graph As well known, the upper envelope U corresponds to the lower chain of conv(P ) and the lower envelope L to its upper chain.More precisely, each vertex of U and L is dual to the line supporting an edge of conv(P ).Thus, the total number of vertices of U and L is no more than n = |P |.Also, observe that the number of vertices of M is equal to the total number of vertices of U and L by definition.Now, consider the portions of lines in P above M and the lower envelope of those pieces cut by M, denoted by Q + .Analogously, let Q − be the upper envelope of portions of lines in P below M. The following observations follow directly from the basic properties of duality.
From Observation 2, one would say informally that + is dual to L, − to U, µ to M, q + to Q − , and q − to Q + .
We are ready to describe our algorithm.We first compute the arrangement A in O(n 2 ) time.The envelopes U and L can be traced in O(n) time from A , and we also can compute M in O(n) time.We then compute Q + and Q − .Lemma 3 The complexity of Q + and Q − is O(n 2 ), and we can compute them in O(n 2 ) time.
Proof.We make use of the Zone Theorem.For any set L of lines and a line in the plane, the zone of in the arrangement A(L) of L is the set of cells of A(L) that are intersected by .The Zone Theorem states that the number of vertices, edges, and cells in the zone of in A(L) is at most 5|L| [7].
For each segment e of M, we find all intersections e ∩ p for every p ∈ P .There are at most n such intersections for each e.The part of Q + and Q − above and below e, respectively, can be simply by walking along the boundary of cells of A intersected by e.By the Zone Theorem, the number of vertices, edges, and cells of A we traverse is bounded by O(n) and the time spent for the walk is also bounded by O(n) for each segment e of M, see also the book [7,Chapter 8].Since M consists of O(n) segments, the total complexity to explicitly construct Q + and Q − is bounded by O(n 2 ).

Constrained Double-Strip Problem
In this section, we discuss a constrained version of the minimum-width double-strip problem, called the constrained double-strip problem.The constrained double-strip problem has its own interest, while it can also be used, in particular, to obtain efficient algorithms for the parallelogram annulus problem, which will be discussed in the following section.
In the constrained double-strip problem, we are given a set P of n points and a subset Q ⊆ P with k = |Q|.A P -constrained double-strip is a double-strip whose outer strip contains all points in P .Then, the problem asks to find a P -constrained double-strip of minimum width that encloses subset Q.
Analogously to Observation 1, we observe the following for the constrained problem.
Observation 3 For each θ ∈ [−π/2, π/2), there exists a minimum-width θ-aligned P -constrained double-strip D Q (θ) enclosing Q such that its outer strip is S(θ) and its inner strip is S Q (θ), where S Q (θ) is the maximum-width θ-aligned strip such that its interior is empty of any point in Q and µ(S Q (θ)) = µ(θ).
Proof.The proof is almost identical to that of Observation 1.Let D be a minimum-width θ-aligned P -constrained double-strip enclosing P .Let S 1 and S 2 be the two strips such that D = S 1 ∪ S 2 .Note that the outer strip of D should enclose all points in P by definition.If the boundary of S 1 does not contain an extreme point of P , then we can slide S 1 inwards until its boundary hits an extreme point of P .Let S 1 be the resulting strip after this sliding process.Then, we have S 1 ∩ P ⊂ S 1 .In the same way, we slide S 2 until the boundary of S 2 hits an extreme point of P , and let S 2 be the resulting strip.Then, it holds that S 2 ∩ P ⊂ S 2 .As a result, P ⊂ (S 1 ∪ S 2 ) since P ⊂ (S 1 ∪ S 2 ).Note that the outer strip of the double-strip D := S 1 ∪ S 2 is exactly S(θ).Now, let S be the inner strip of D .By definition, we have µ(S(θ)) = µ(S ).Suppose that the inner strip S of D is not equal to S Q (θ), the maximum-width θ-aligned strip such that its interior is empty of any point in Q and µ(S (θ)) = µ(S(θ)).Then, the boundary of S does not contain any point of Q.Hence, the width of S Q (θ) is strictly larger than the width of S , a contradiction to the fact that D is of minimum width.Therefore, the inner strip of D should be S Q (θ).
Let w Q (θ) be the width of the minimum-width P -constrained double-strip D Q (θ) enclosing Q described in Observation 3, and . Hence, we focus on computing the minimum possible width w * Q and its corresponding double-strip D Q (w * Q ).We also redefine q + (θ) and q − (θ) to be the closest points to µ(θ) among points in Q above and below µ(θ), respectively.Then, we have The following lemma is analogous to Lemma 2.
Lemma 4 Let θ * be an orientation such that w Q (θ * ) = w * Q .Then, either (a) three extreme points of P lie on the boundary of S(θ * ), or (b) two points of Q lie on the boundary of S Q (θ * ).
Proof.The proof is almost identical to that of Lemma 2. From Observation 3, we know that the boundary of S(θ * ) contains at least two extreme points, χ + (θ * ) and χ − (θ * ), while the boundary of S Q (θ * ) contains at least one point q ∈ Q that maximizes d p (θ * ) over all p ∈ Q.
Suppose that there is no more point in P or Q lying on the boundary of S(θ * ) or of S (θ * ), respectively.Without loss of generality, we assume that q lies above µ(S(θ)).This implies that the width of Since there is no more extreme point on the boundary of S(θ * ), there is θ sufficiently close to θ * such that d q (θ ) < d q (θ * ).In addition, since there is no more point on the boundary of S Q (θ * ), we indeed have a strict inequality d p (θ * ) < d q (θ * ) and hence d p (θ ) < d q (θ ) for all p ∈ Q \ {q}.This implies that a contradiction.Hence, there must be one more extreme point in P on the boundary of S(θ * ) or one more point in Q on the boundary of S Q (θ * ), implying the lemma.
To solve the constrained problem, we extend our approach for the unconstrained problem.Define A Q := A(Q ∪ U ∪ L) to be the arrangement of k lines in Q = {p | p ∈ Q} plus the envelopes U and L of A(P ).Let Q + Q be the lower envelope of portions of lines in Q above M, and Q − Q be the upper envelope of portions of lines in Q below M. Our algorithm for the constrained double-strip problem runs as follows: First, compute the convex hull conv(P ) and extract U and L from conv(P ) in O(n log n) time.Then, we add lines : Illustration to the trapezoidal map T Q with 18 trapezoids.In this example, we take Q = P for input point set P , being the same as the one used as in Figure 3. Red and blue dots are vertices of A Q that belong to Q + Q and Q − Q , respectively.Small circles depict the vertices of M and cross marks are the intersections between M and any line p for p ∈ Q. in Q incrementally one by one to build A Q .Since every line in Q lies between U and L, this takes additional O(k 2 ) time.Next, we compute , and we can compute them in O(kn) time.Proof.The proof is almost identical to that of Lemma 3. The difference is the number of lines we consider is only k ≤ n.
For each segment e of M, we find all intersections e ∩ p for every p ∈ Q.There are at most k = |Q| such intersections for each e.The part of Q + Q and Q − Q above and below e, respectively, can be simply by walking along the boundary of cells of A Q intersected by e.By the Zone Theorem, the number of vertices, edges, and cells of A Q we traverse is bounded by O(k) and the time spent for the walk is also bounded by O(k) for each segment e of M, see also the book [7,Chapter 8].Since M consists of O(n) segments, the total complexity to explicitly construct Q + Q and Q − Q is bounded by O(kn).The rest of the algorithm is the same as that described in the previous section.As we increase θ ∈ [−π/2, π/2) continuously, there are O(kn) changes in tuple (χ + (θ), χ − (θ), q + (θ), q − (θ)) by Lemma 5, and thus the orientation domain [−π/2, π/2) is decomposed into O(kn) intervals in each of which the four points are fixed.For each such interval I, we minimize w Q (θ) = max{σ θ (q + (θ), χ + (θ)), σ θ (q − (θ), χ − (θ))} over θ ∈ I.By Lemma 4, the minimum occurs either (a) at an endpoint of I or (b) when the equality σ θ (q + (θ), χ + (θ)) = σ θ (q − (θ), χ − (θ)) holds.Hence, we can minimize w(θ) over θ ∈ I in O(1) time, and obtain the following result.Theorem 3 Given a set P of n points and a subset Q ⊆ P with k = |Q|, a minimum-width P -constrained double-strip enclosing Q can be computed in O(n log n + kn) time.

Dynamic maintenance under insertion and deletion
In the following, we consider a dynamic situation in which a point in P can be inserted into or deleted from Q.Our goal is to report a minimum-width P -constrained double-strip enclosing Q over all orientations and its width, that is, w * Q and D Q (w * Q ), whenever a change in Q occurs, faster than computing it from scratch by Theorem 3.
For the purpose, we keep the following invariants updated under insertions and deletions: the arrangement A Q and a trapezoidal map T Q .The map T Q is a vertical trapezoidal decomposition of the region between Q + Q and Q − Q .More precisely, let Q Q be the region between Q + Q and Q − Q , and {u 1 , u 2 , . . ., u m } be the set of u-coordinates of the vertices of Q + Q , Q − Q , and M such that , we obtain the trapezoidal decomposition T Q consisting of m + 1 trapezoids.For convenience, let u 0 := −∞ and u m+1 := ∞.The order of trapezoids in T Q is naturally induced along the u-axis in D. The i-th trapezoid τ in T Q for i = 1, . . ., m + 1 is bounded by two vertical segments at u = u i−1 and u = u i , and two segments from Q + Q and Q − Q .See Figure 4 for an illustration.The two segments of τ from Q + Q and Q − Q are called the ceiling and floor of τ , respectively.Let U τ ⊂ R be an interval consisting of the u-coordinates of all points in τ .
Note that the union of ceilings of all trapezoids in T Q forms Q + Q , and the union of their floors forms Q − Q .By Lemma 5, the number m + 1 of trapezoids in T Q is O(|Q|n).More importantly, for each θ ∈ [−π/2, π/2), there is a unique trapezoid τ in T Q such that tan θ lies in interval U τ of τ and thus we have Thus, by efficiently maintaining T Q , the problem is reduced to finding the minimum of w τ over all trapezoids τ in T Q .
Updating our invariants can be done in O(n) time thanks to the Zone Theorem for the arrangement of lines.Lemma 6 Let Q ⊆ P , p ∈ P , and Q be either Q ∪ {p} or Q \ {p}.Then, A Q and T Q can be obtained in O(n) time, provided the description of A Q and T Q .More specifically, the number of trapezoids in the symmetric difference and those trapezoids can be identified in the same time bound.
Proof.Here, we describe a procedure that updates our invariants A Q and T Q into A Q and T Q .
We first consider the case of insertion.Let p ∈ P \ Q and Q := Q ∪ {p}.Adding = p into A Q results in A Q .The number of new vertices in A Q is exactly |Q| ≤ n, and can be obtained by walking along through A Q .In this process, we traverse all the vertices, edges, and cells of A Q that form the zone of in A Q .Hence, by the Zone Theorem, we obtain Also, in this process, we mark those segments of Q + Q and Q − Q that are crossed by .From these marked segments, we can identify all trapezoids in T Q crossed by , and those trapezoids form the set including the intersection points between and M. So, we have Next, consider the case of deletion.Let p ∈ Q and Q := Q \ {p}.Also, let := p .Again, by the Zone Theorem, the total number of vertices and edges in the cells of A Q adjacent to is bounded by O(n).To obtain A Q from A Q , we remove all edges e of A Q that are portions of and merge two cells adjacent to e into one cell.This can be done in O(n) time by the Zone Theorem.
In order to update the trapezoidal map, observe that for each trapezoid in T Q \T Q its ceiling or floor is a segment of .Hence, the number of those is O(n) and can be specified in O(n) time from the arrangement A Q .On the other hand, new trapezoids in

Offline version under insertions only
Note that the above theorems give us solutions to the online optimization and decision versions of the P -constrained double-strip problem under insertions and deletions.Here, we consider the offline optimization version of the problem under insertions only.
Let Q = {p 1 , p 2 , . . ., p k } ⊆ P be a subset of P , and Q i := {p 1 , . . ., p i } for i = 0, . . ., k. Suppose that we know Q i for each i = 0, . . ., k for the first time and want to compute a minimum-width P -constrained double-strip enclosing Q i for all i = 0, . . ., k.
For the purpose, we observe the following.

Lemma 7
For each i = 0, . . ., k − 1, it holds that where Proof.First, we show that we always have Letting s := min τ ∈S i w τ t := min τ ∈T i w τ , and t := min τ ∈T i w τ , we have Note that we also have w * Q i ≤ w * Q i+1 , and thus min{s, t} ≤ min{s, t }.The lemma claims that We consider all possible cases of the relative order among the three values s, t, and t , and prove the lemma for every case.If s is the smallest among the three values {s, t, t }, then we have w * Q i = s = min{s, t, t }, so the lemma follows.If t is the smallest among the three values {s, t, t }, then we have w * Q i = t = min{s, t, t }, so the lemma follows.Lastly, suppose that neither s nor t is the smallest among the three.This means that t < s and t < t.We then have shown above.Therefore, either s or t is always the smallest among {s, t, t }, and hence we always have w * Q i = min{s, t, t }, as claimed.Lemma 7 suggests computing w * Q i backwards from i = k to i = 0.By maintaining T Q i from i = 0 to k and storing the sets More precisely, we first build A Q 0 and T Q 0 as described above in O(n log n) time.We then insert p i for i = 1, . . ., k, one by one, and compute A Q i and T Q i in O(n) time per insertion by Lemma 6, but we do not compute the minimum width w * Q i at every insertion.Instead, we collect all trapezoids τ that have been deleted, that is, the set for all 0 ≤ i ≤ k and corresponding P -constrained double-strips of width w * Q i enclosing Q i .Proof.We first build A Q 0 and T Q 0 as described above in O(n log n) time.We then insert p i for i = 1, . . ., k, one by one, and compute A Q i and T Q i in O(n) time per insertion by Lemma 6, but we do not compute the minimum width w * Q i at every insertion.Instead, we collect all trapezoids τ that has been deleted, that is, the set We thus conclude the theorem.

Minimum-Width Parallelogram Annuli
In this section, we present algorithms that compute a minimum-width parallelogram annulus that encloses a set P of n points in R 2 .As introduced in Section 2, a parallelogram annulus is defined by two double-strips and its orientation is represented by a pair of parameters (θ, φ) with θ, φ ∈ [−π/2, π/2).
Here, we consider several cases depending on how many of the two side orientations, θ and φ, are fixed or not.The easiest case is certainly when both θ and φ are fixed.
Proof.Let A be any minimum-width (θ, φ)-aligned parallelogram annulus that encloses P .By definition, A is defined by two double-strips D 1 and D 2 , where D 1 is θ-aligned and D 2 is φ-aligned.Let S 1 and S 2 be the outer strips of D 1 and D 2 , respectively.Note that the outer parallelogram R of A is the intersection of the outer strips S 1 and S 2 of D 1 and D 2 , that is, R = S 1 ∩ S 2 .Since A encloses P and thus R encloses P , we have P ⊂ S 1 and P ⊂ S 2 .This implies that D 1 is a P -constrained double-strip enclosing subset P 1 := D 1 ∩ P and D 2 is a P -constrained double-strip enclosing subset P 2 := D 2 ∩ P .
By Observation 3, there exists the minimum-width P -constrained θ-aligned double-strip D P 1 (θ) enclosing P 1 whose outer strip is equal to S(θ).Analogously, we consider the minimumwidth P -constrained φ-aligned double-strip D P 2 (φ) enclosing P 2 whose outer strip is equal to S(φ).Now consider another parallelogram annulus A defined by D P 1 (θ) and D P 2 (θ).Since P 1 ⊂ D P 1 (θ) and P 2 ⊂ D P 2 (φ), it holds that A encloses P .By definition of D P 1 (θ) and D P 2 (φ), we have that the width of A is at most the width of A. Hence, A is also a minimum-width (θ, φ)aligned parallelogram annulus that encloses P .Finally, observe that the outer parallelogram of A is exactly R(θ, φ) = S(θ) ∩ S(φ).This proves the observation.
The above observation gives us a structural property of an optimal annulus which we should look for, and leads to a linear-time algorithm.Theorem 7 Given a set P of n points and θ, φ ∈ [−π/2, π/2), a minimum-with (θ, φ)-aligned parallelogram annulus that encloses P can be computed in O(n) time.
We then need to find an inner parallelogram R that minimizes the width of the resulting annulus defined by R(θ, φ) and R .For the purpose, we are done by checking the distance from We first consider the decision version of the problem in which a positive real number w > 0 is given and we want to decide if w ≥ w * or w < w * .For the purpose, we consider the function d p defined above for each p ∈ P to be d p (θ) = min{σ θ (p, χ + (θ)), σ θ (p, χ − (θ))}.As observed above, the function d p is piecewise sinusoidal with O(n) breakpoints, so its graph {(θ, y) | y = d p (θ), −π/2 ≤ θ < π/2} consists of O(n) sinusoidal curves.Let Γ p be the set of these sinusoidal curves, and Γ := p∈P Γ p .We build the arrangement A(Γ) of these sinusoidal curves in Γ.Note that each vertex of A(Γ) corresponds either to a breakpoint of function d p for some p ∈ P or to an intersection point between a curve in Γ p and another in Γ p for some p, p ∈ P with p = p .

Lemma 8
The arrangement A(Γ) of curves in Γ consists of O(n 3 ) vertices, edges, and cells, and can be computed in O(n 3 ) time.
We consider the arrangement A(Γ) on each such interval I.For each such interval I, since the pair (χ + (θ), χ − (θ)) is fixed, the function is piecewise sinusoidal with at most one breakpoint by Lemma 1. Again by Lemma 1, any two curves in Γ defined on I cross at most once.Hence, the complexity of the arrangement A(G) on I is O(n 2 ), and can be computed in O(n 2 ) time.We obtain the O(n 3 ) bound by simply iterating all the O(n) intervals I. Now, we describe our decision algorithm.Let w > 0 be a given positive real number.First, we intersect the horizontal line : {y = w} with arrangement A(Γ).
Lemma 9 Any horizontal line crosses the edges of A(Γ) in O(n 2 ) points, and all these intersection points can be specified in O(n 2 ) time.
Proof.Consider the intervals I described in the proof of Lemma 8.For each I, the antipodal pair (χ + (θ), χ − (θ)) is fixed for all θ ∈ I and so the function is piecewise sinusoidal with at most one breakpoint by Lemma 1 for each p ∈ P .Hence, any horizontal line crosses d p (θ) at most O(1) time for θ ∈ I. Since there are O(n) such intervals I, the function d p for each p ∈ P crosses in O(n) intersection points.Also, these intersection points can be computed in O(n) time.
Since the edges of A(Γ) come from the graph of d p for all p ∈ P , we conclude that any horizontal line crosses the edges of A(Γ) in O(n 2 ) points, and all the intersection points can be specified in the same time bound.
Our algorithm continuously increases θ from −π/2 to π/2 and checks if there exists a parallelogram annulus of width w that encloses P such that one of the two double-strips defining it is θ-aligned.
Let {θ 1 , . . ., θ m } be the set of θ-values of every intersection point between and the edges of For each i = 1, . . ., m, let P i ⊆ P be the set of points p ∈ P such that d p (θ i ) ≤ w, and let Q i := P \ P i .Let D i be the θ i -aligned P -constrained double-strip of width w.Then, we have P i ⊂ D i while Q i ∩ D i = ∅.Let D i be a P -constrained double-strip of minimum width that encloses Q i .Recall that the width of D i is denoted by w * Q i in the previous section.If the width w * Q i of D i is at most w, then the parallelogram annulus defined by D i and D i indeed encloses P and its width is w, so we conclude that w ≥ w * .Otherwise, if w * Q i > w, then we proceed to next θ-value θ i+1 .
We perform this test for each i = 1, . . ., m in an efficient way with the aid of our online decision algorithm for the constrained double-strip problem.Initially, for i = 1, we compute P 1 , Q 1 , and D 1 in O(n) time.Also, we initialize the data structures T ∅ and fixed value w, as described in Theorem 5 in O(n log n) time, and insert points in Q 1 to have T Q 1 in O(|Q 1 |n) = O(n 2 ) time.We then know that w * Q 1 ≥ w or not.For each i ≥ 2, there is a point p ∈ P such that either P i = P i−1 \ {p} or P i = P i−1 ∪ {p}.Since Q i = P \ P i , we have that either Q i = Q i−1 ∪ {p} or Q i = Q i−1 \ {p}.This implies that we can answer whether w ≥ w * Q i or not in O(n) time for each i ≥ 2 by maintaining P i , Q i , and T Q i by Theorem 5.
Since m = O(n 2 ) by Lemma 9, we can solve the decision problem in O(n 3 ) time.
Lemma 10 Given w > 0, we can decide whether or not w ≥ w * in O(n 3 ) time.
Proof.This lemma directly follows Lemma 4. Consider any parallelogram annulus A of minimum width w * that encloses P .Let D 1 and D 2 be the two double-strips defining A. Also, let P 1 := P ∩ D 1 and P 2 := P ∩ D 2 .Then, D 1 is a P -constrained double-strip enclosing P 1 ⊆ P and D 2 is a P -constrained double-strip enclosing P 2 ⊆ P .By Lemma 4, D 1 can be replaced by a P -constrained double-strip D 1 enclosing P 1 of minimum width w * P 1 such that either (a) three extreme points of P lie on the boundary of its outer strip or (b) two points of P 1 lie on the boundary of its inner strip.In the same way, D 2 can be replaced by aP -constrained double-strip D 2 enclosing P 2 of minimum width w * P 2 such that either (a) three extreme points of P lie on the boundary of its outer strip or (b) two points of P 2 lie on the boundary of its inner strip.
Let A be the parallelogram annulus defined by D 1 and D 2 .Observe that A also encloses P , as P 1 ⊂ D 1 and P 2 ⊂ D 2 .We further have that w * = max{w * P 1 , w * P 2 } since D 1 and D 2 have widths at most w * and w * is the minimum possible width for parallelogram annuli enclosing P .
Without loss of generality, we assume that w * P 1 ≥ w * P 2 , so w * is equal to the width w * P 1 of D 1 .Let θ ∈ [−π/2, π/2) be the orientation of D 1 .Then, by Observation 3, the outer strip of D 1 is S(θ) and its inner strip is S P 1 (θ).We have two cases: (a) three extreme points of P lie on the boundary of the outer strip S(θ) of D 1 , or (b) two points of P 1 lie on the boundary of the inner strip S P 1 (θ) of D 1 .
In the former case, the function d p for every p ∈ P has a breakpoint at θ. Let q ∈ P 1 be a point lying on the boundary of S P 1 (θ).We then have So, w * is equal to the y-coordinate of the vertex of A(Γ) that corresponds to the breakpoint of d q at θ.In the latter case, we have two points q 1 , q 2 ∈ P 1 lying on the boundary of S P 1 (θ).This implies that w * = w * P 1 = max Therefore, w * is equal to the y-coordinate of the vertex of A(Γ) that is the intersection point between a curve in Γ q 1 and another in Γ q 2 .This completes the proof of the lemma.Finally, we describe our algorithm to compute the exact value of w * .To do so, we collect a set W of candidate width values in which w * is guaranteed to exist, and perform a binary search using our decision algorithm summarized in Lemma 10.

Lemma 11
The minimum possible width w * over all parallelogram annulli that enclose P is equal to the y-coordinate of a vertex of A(Γ).

Figure 1 :
Figure 1: Illustrations to (a) a strip S and its middle line µ(S), (b) a double-strip, and (c) a parallelogram annulus.The arrows depict the width of each shape.

Figure 3 :
Figure 3: (a) The arrangement A of lines in P .(b) The upper envelope U, the lower envelope L, and M of A .(c) Q + and Q − depicted by red and blue chains, respectively.
Then, we apply Lemma 7 to compute w * Q i for each i = 0, . . ., k and its corresponding double-strip.We first compute w * Q k = min τ ∈T Q k w τ .Then, we iterate i from k − 1 to 0, and compute w * Let P be a set of n points and p 1 , . . ., p k ∈ P be k ≥ 1 points in P , and let Q i := {p 1 , . . ., p i } for 0 ≤ i ≤ k.Then, in time O(n log n + kn), we can exactly compute w * Then, we apply Lemma 7 to compute w * Q i for each i = 0, . . ., k and its corresponding double-strip.We first compute w * Q k = min τ ∈T Q k w τ .Then, we iterate i from k − 1 to 0, and compute w * Q i based on Lemma 7. Since |T i | = O(n) for each i by Lemma 6, this takes O(kn) additional time.