# Largest triangles in a polygon

We study the problem of finding maximum-area triangles that can be inscribed in a polygon in the plane. We consider eight versions of the problem: we use either convex polygons or simple polygons as the container; we require the triangles to have either one corner with a fixed angle or all three corners with fixed angles; we either allow reorienting the triangle or require its orientation to be fixed. We present exact algorithms for all versions of the problem. In the case with reorientations for convex polygons with n vertices, we also present (1-ε)-approximation algorithms.

## Authors

• 6 publications
• 2 publications
• 19 publications
10/19/2019

### Maximum-Area Rectangles in a Simple Polygon

We study the problem of finding maximum-area rectangles contained in a p...
12/13/2018

### Peeling Digital Potatoes

The potato-peeling problem (also known as convex skull) is a fundamental...
06/26/2020

### Cutting Polygons into Small Pieces with Chords: Laser-Based Localization

Motivated by indoor localization by tripwire lasers, we study the proble...
05/31/2017

### Maximum-Area Triangle in a Convex Polygon, Revisited

We revisit the following problem: Given a convex polygon P, find the lar...
12/13/2020

### Largest similar copies of convex polygons amidst polygonal obstacles

Given a convex polygon P with k vertices and a polygonal domain Q consis...
11/01/2017

### Finding all Maximal Area Parallelograms in a Convex Polygon

We consider the problem of finding the maximum area parallelogram (MAP) ...
10/17/2018

### An O(1/ε)-Iteration Triangle Algorithm for A Convex Hull Membership

A fundamental problem in linear programming, machine learning, and compu...
##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

We study the problem of finding maximum-area triangles that are inscribed in a polygon in the plane. When the shape of the triangle is fully prescribed, this problem is related to the polygon containment problem, which for given two polygons and , asks for the largest copy of that can be contained in using rotations, translations, and scaling. The problem is related to the problem of inscribing polygons if the shape is partially prescribed. In inscribing polygons, we are given a polygon and seek to find a best polygon with some specified number of vertices that can be inscribed in with respect to some measures.

Problems of this flavor have a rich history and are partly motivated by the attempt to reduce the complexity of various geometric problems, including the shape recognition and matching problems, arising in various applications in pattern recognition, computer vision and computational geometry

[7, 13, 21]. Chapter 30.5 in the Handbook of Discrete and Computational Geometry [20] provides a survey on the related works.

There has been a fair amount of work on inscribing a maximum-area convex -gon in a polygon. A maximum-area convex -gon inscribed in a convex -gon can be computed in time [2, 15]. The best algorithm for computing a maximum-area convex polygon inside a simple -gon takes time and space [9]. Hall-Holt et al. [18] gave an -time -approximation algorithm for finding a maximum-area convex polygon inscribed in a simple -gon. Melissaratos et al. [17] gave an algorithm for finding a maximum-area triangle inscribed in a simple -gon in time. When the maximum-area triangle is restricted to have all its corners on the polygon boundary, and it takes time.

For finding a maximum-area copy of a given polygon that can be inscribed in a polygon , there are results known for cases of convex, orthogonal, and simple polygons, possibly with holes. A maximum-area copy of a convex -gon that can be inscribed in a convex -gon can be computed in time [19, 14] under translation and scaling, and in time [1] under translation, scaling, and rotation. For a maximum-area homothet111Two shape are homothetic if one can be obtained from the other by scaling and translation. of a given triangle inscribed in a convex polygon with vertices, Kirkpatrick and Snoeyink gave an -time algorithm to find one [16], given the vertices are stored in order along the boundary in an array or balanced binary search tree. The maximum-area equilateral triangles of arbitrary orientation inscribed in a simple -gon can be computed in time [11].

There also have been works on finding a maximum-area partially prescribed shape that can be inscribed in a polygon. Amenta showed that a maximum-area axis-aligned rectangle inscribed in a convex -gon can be found in linear time by phrasing it as a convex programming problem [6]. When the vertices are already stored in order along the boundary in an array or balanced binary search tree, the running time was improved to  [12], and then to  [4]. Cabello et al. [8] considered the maximum-area and maximum-perimeter rectangle of arbitrary orientation inscribed in a convex -gon, and presented an -time algorithm. Very recently, Choi et al. [10] gave -time algorithm for finding maximum-area rectangles of arbitrary orientation inscribed in a simple -gon, possibly with holes. However, little is known for the case of partially prescribed triangles inscribed in convex and simple polygons, except a PTAS result by Hall-Holt et al. [18] for finding a maximum-area fat222A triangle is -fat if all three of its angles are at least some specific constant . triangle that can be inscribed in a simple -gon.

### 1.1 Our results

We study the problem of finding maximum-area triangles that can be inscribed in a polygon in the plane. We consider eight versions of the problem: we use either convex polygons or simple polygons as the container; we require the triangles to have either one corner with a fixed interior angle or all three corners with fixed interior angles; we either allow reorienting the triangle or require its orientation to be fixed. We study all versions of the problem in this paper and present efficient algorithms for them. Table 1 summarizes our results.

We assume that the vertices of the input polygon are stored in order along its boundary in an array or a balanced binary search tree. We say a triangle is axis-aligned if one of its sides is parallel to the -axis, and we call the side the base of the triangle. We say a triangle has one fixed angle if one of the two interior angles at corners incident to the base of the triangle is fixed.

For a convex polygon with vertices, a maximum-area homothet of a given triangle that can be inscribed in can be computed in time [16]. For axis-aligned triangles with one fixed angle, we present an algorithm that computes a maximum-area such triangle that can be inscribed in in time using space.

When reorientations are allowed, we present an algorithm that computes a maximum-area triangle with fixed interior angles that can be inscribed in in time using space. We also present an -approximation algorithm that takes time. For triangles with one fixed angle, we present an algorithm to compute a maximum-area triangle that can be inscribed in in time using space. We also present an -approximation algorithm that takes time.

For a simple polygon with vertices, we present an algorithm that computes a maximum-area homothet of a given triangle that can be inscribed in in time using space. We also present an algorithm to compute a maximum-area axis-aligned triangle with one fixed angle that can be inscribed in in time using space.

When reorientations are allowed, we present an algorithm to compute a maximum-area triangle with fixed interior angles that can be inscribed in in time using space. For triangles with one fixed angle, we present an algorithm to compute a maximum-area triangle that can be inscribed in in time using space.

Whenever we say a largest triangle, it refers to a maximum-area triangle inscribed in . We denote the triangle with three corners (counterclockwise order) by , where is base. For two fixed angles , we call the triangle with an -triangle and the triangle with and an -triangle. Let denote the area of a triangle .

## 2 Largest Triangles in a Convex Polygon

Consider a convex polygon with vertices in the plane. We show for fixed angles and how to find largest -triangles and largest -triangles, aligned to the -axis or of arbitrary orientation, that can be inscribed in .

### 2.1 Largest (α,β)-triangles

Since all interior angles of an -triangle are fixed, this problem is to find a largest copy of a given triangle that can be inscribed in using rotations, translations, and scaling. When the orientation of triangles is fixed, the problem reduces to finding a largest homothet of a given triangle that can be inscribed in . A homothet of a figure is a scaled and translated copy of the figure.

A largest homothet of a given triangle that can be inscribed in can be computed in time [16]. Thus, we focus on the case in which arbitrary orientations are allowed. This problem is similar to finding a largest equilateral triangle in a convex polygon [11]. A largest -triangle in a convex polygon must have at least one corner lying on a vertex of by the same argument for largest equilateral triangles in Theorem 1 of [11].

Consider an -triangle . Let denote the affine transformation that scales and rotates in counterclockwise direction around a vertex of . Let

 φ0,v=Φv(sinβsin(α+β),α),φ1,v=Φv(sin(α+β)sinα,β),φ2,v=Φv(sinαsinβ,π−α−β).

For lying on a vertex of , we observe that if and only if with indices under modulo 3. See Figure 1(a) for an illustration. Thus, for a fixed vertex of , we can compute a largest triangle with at in time by finding the longest segment contained in . By repeating this for every vertex of such that corner lies on for , a largest -triangle can be computed in time.

###### Theorem 1.

Given a convex polygon with vertices in the plane and two angles , we can compute a maximum-area -triangle of arbitrary orientations that can be inscribed in in time.

We give an example of a convex polygon with combinatorially distinct candidates of an optimal triangle with . Let be a convex polygon with vertices such that vertices of are placed uniformly on a circular arc of interior angle , and the remaining vertices are placed densely in the neighborhood of the center of the arc as shown Figure 1(b). If is one of the vertices near the center, has vertices along by the arc, and thus there are candidates of for each such vertex to consider for the longest in . This gives candidates for the longest of similar lengths, and thus combinatorially distinct -triangles with side . Any algorithm iterating over all such triangles takes time.

### 2.2 Largest α-triangles

This problem is to find a largest triangle with one corner angle fixed to a constant that can be inscribed in a convex polygon . We consider -triangles that are either axis-aligned or of arbitrary orientations.

#### 2.2.1 Largest axis-aligned α-triangles

We start with an algorithm to compute a largest axis-aligned -triangle for . Alt et al. [5] presented an algorithm of computing a largest axis-aligned rectangle that can be inscribed in a convex polygon. We follow their approach with some modification. If two corners of the triangle are on the polygon boundary, the algorithm by Alt et al., works to compute a largest axis-aligned right triangle that can be inscribed in .

So in the following, we focus on the case that a largest axis-aligned right triangle has all its corners on the boundary of . Consider a largest axis-aligned right triangle with all three corners on the boundary of . See Figure 1(c) for an illustration. Let and denote the slopes of the polygon edges where and lie, respectively, and let denote the slope of . Then, either (1) or , or (2) and . Observe that no rectangle containing a largest axis-aligned right triangle belonging to case (1) is contained in , and thus the algorithm by Alt et al. fails to find a largest axis-aligned right triangle belonging to the case.

We compute a largest axis-aligned right triangle in time using the tentative prune-search algorithm [5] by replacing the tests associated with functions and by the ones in Figure 2. Using the tests, we can determine a half of the candidate triples of polygon edges in which a largest axis-aligned right triangle cannot have their corners, and continue to find a largest axis-aligned right triangle on the remaining half of the candidate triples of polygon edges.

The algorithm to compute a largest axis-aligned right triangle can compute the axis-aligned

-triangle using linear transformation

for . Then, is an axis-aligned right triangle for an -triangle . Observe that is a largest axis-aligned -triangle inscribed in if and only if is a largest axis-aligned right triangle inscribed in , a convex polygon. However, it takes time for computing entire description of . To reduce the time complexity, we compute only when we need the slope of the polygon edge containing or the right side of an -triangle with corner at on the polygon boundary. Since there are decision steps in the algorithm and each decision step uses only a constant number of points on the polygon boundary, we have following theorem.

###### Theorem 2.

Given a convex polygon of vertices in the plane and an angle , we can find a maximum-area axis-aligned -triangle that can be inscribed in in time.

#### 2.2.2 Largest α-triangles of arbitrary orientations

We can compute a largest -triangle of arbitrary orientations by simply iterating over all triples of edges of . For each triple of edges of , we can find a largest -triangle with corners on the edges of the triple in time.

###### Theorem 3.

Given a convex polygon of vertices in the plane and an angle , we can find a maximum-area -triangle of arbitrary orientation that can be inscribed in in time using space.

One may wonder if the running time can be improved. Cabello et al. showed a construction of a convex polygon with vertices that has combinatorially distinct rectangles that can be inscribed in the polygon. By using a similar construction, we can show that there are combinatorially distinct -triangles that can be inscribed in a convex polygon with vertices. Thus, any algorithm iterating over all those combinatorially distinct triangles takes time.

### 2.3 FPTAS in arbitrary orientations

Let be a largest -triangle that can be inscribed in . We can compute an -triangle inscribed in whose area is at least times in time using -kernel [8]. For any , an -kernel for a convex polygon is a convex polygon

such that for all unit vectors

in the plane, , where is the length of the orthogonal projection of onto any line parallel to .

###### Theorem 4.

Given a convex polygon with vertices in the plane, two angles , and , we can find an -triangle that can be inscribed in and whose area is at least times the area of a maximum-area -triangle inscribed in in time.

###### Proof.

By Lemma 1 in [8], an -kernel of has vertices and it can be computed in time. A largest -triangle inscribed in has area at least times the area of the largest -triangle inscribed in by Lemma 8 in [8], and it can be computed in time. ∎

#### 2.3.1 Largest α-triangles of arbitrary orientations

Let denote a largest -triangle that can be inscribed in . We can compute an -triangle inscribed in whose area is at least times in time using the algorithm by Cabello et al. [8]. We can improve the time complexity further to using the approximation method by Ahn et al. [3].

We use to denote the diameter of a convex polygon which is the maximum distance between any two points in , and to denote the width of which is the minimum distance between two parallel lines enclosing . Let and be the constants defined by .

.

###### Proof.

Let be a diameter of , and let be a rectangle circumscribed to with two sides parallel to such that touches all four sides of . Let be the side of orthogonal to . See Figure 3(a).

Consider two interior-disjoint triangles with as the base and total height that are inscribed in . Let be one of the triangles whose height is at least . Without loss of generality, assume that the bisecting line of intersects the boundary of at and let .

If or , then either (with ) or (with ) is an -triangle, where is the point on the bisecting line of achieving or . See Figure 3(b). If , (with ) is an -triangle inscribed in , where is the point on achieving or , while satisfying . See Figure 3(c). Since , the lemma holds.

Let be one of the directions of the lines defining the width of . Let be the angle from to the ray from bisecting for a largest -triangle inscribed in in counterclockwise direction, where . Then we have the following technical lemma.

.

###### Proof.

Clearly, is contained in the strip of . Then . See Figure 4.

For , . Observe also that the graph of is symmetric with respect to . Therefore, , and .

Let denote a largest -triangle such that the angle from to the ray from bisecting in counterclockwise direction is .

Given , for .

###### Proof.

Let be . Without loss of generality, assume . Let and be points on and , respectively, and let . Also, let be the intersection point of and . See Figure 5 for an illustration.

If , then

 area(Topt(ϑ))−area(Topt(ϑ+δ)) ≤ area(△pqr)−area(△tq′r) ≤ area(△rpp′)+area(△pqq′) ≤ 12(sinαsin(α+|δ|)|pr|2+|pq|2)sin|δ| ≤ (|pq|2+|pr|2)sin|δ|≤2max(|pq|2,|pr|2)sin|δ|.

By Lemma 5, , and the lemma follows. ∎

###### Lemma 8.

Given a convex polygon with vertices in the plane, an angle , and , we can find an -triangle that can be inscribed in and whose area is at least in time.

###### Proof.

We sample all orientations in at interval that satisfy .

For each sampled orientation , is a largest axis-aligned right triangle in for the linear transformation , where . So, we can compute in time using the same technique used for the axis-aligned -triangles.

We can obtain an orientation such that for at least one of the sampled orientations by Lemmas 6 and 7. The running time of the algorithm is . ∎

After applying the inner approximation using an -, we can obtain the following theorem.

###### Theorem 9.

Given a convex polygon with vertices in the plane, an angle , and , we can find an -triangle that can be inscribed in and whose area is at least times the area of a maximum-area -triangle inscribed in in time.

###### Proof.

By Lemma 1 in [8], an -kernel of has vertices and it can be computed in time. A largest -triangle in has area at least by Lemma 8 in [8]. Then, an -approximation to the largest -triangle in is an -approximation of the largest -triangle in . We can compute an -approximation to the largest -triangle inscribed in in time by Lemma 8. ∎

## 3 Largest (α,β)-triangles in a Simple Polygon

In this section, we show how to find a largest -triangle that can be inscribed in a simple polygon with vertices in the plane. Without loss of generality, we assume no three vertices of are collinear.

A triangle inscribed in may touch some boundary elements (vertices and edges) of . We call an edge of that a corner of touches a corner contact of , and a vertex of that a side of touches in its interior a side contact of . We call the set of all corner and side contacts of the contact set of . We say a triangle satisfies a contact set if is the contact set of .

We use to denote the ray emanating from that makes angle from the positive -axis in counterclockwise direction. The inclination of line (or segment) is the angle that the line makes from the positive -axis in counterclockwise direction.

### 3.1 Largest axis-aligned (α,β)-triangles

Finding a largest axis-aligned -triangle is equivalent to finding a largest homothet inscribed in . For an axis-aligned -triangle inscribed in , we use to denote the left endpoint of the base of , and call it the anchor of . For an axis-aligned -triangle inscribed in and satisfying a contact set , we say is maximal if there is no axis-aligned -triangle of larger area inscribed in and satisfying a contact set with . For a point in the interior of , consider the largest axis-aligned -triangle, denoted by , with at its anchor. For ease of description, we say is the contact set of and satisfies , for the contact set of . We use to denote the contact set of . We also say is maximal if is maximal.

To compute a largest axis-aligned -triangle that can be inscribed in , we consider all maximal axis-aligned -triangles and find a largest triangle among them. To find all maximal -triangles, we construct a subdivision of by such that a maximal -triangle has at a vertex of the subdivision.

#### 3.1.1 Subdivision of P by angles (α,β)

For a point in the interior of , consider the contact set of , which may consist of polygon edges that a corner of touches and polygon vertices that a side of

touches in its interior. We classify the contact set

of into four types as follows.

1. consists of exactly one edge of .

2. consists of one or two reflex vertices of that the side of opposite to touches in its interior.

3. belongs to one of the configurations shown in Figure 6(a) or their symmetric configurations with respect to the anchor of . A superset of also belongs to this type.

4. Other than types 1, 2, and 3.

Observe that each interior point of has a contact set, which belongs to one of the four types defined above. For a contact set , consider the set of the points in the interior of such that remains to be the contact set of under translations and scaling. Then the classification of contact sets above induces a subdivision of into cells, edges, and vertices. A vertex of the subdivision has degree 1 (endpoint of a subdivision edge on the boundary of ) or larger.

###### Lemma 10.

Let S be the subdivision of by , and let be the contact set of a point in the interior of . Then is a cell of S if is of type 1 or 2, a vertex of S if is of type 3, and an edge of S if is of type 4.

###### Proof.

Observe that is a cell of S if is of type 1 or 2, a vertex of S if is of type 3. A contact set of type 4 is (1) a proper subset of a configuration in 6(a), (2) the set consists of a contact set belongs in (1) and additional side contacts on the side which contains a side contact in , and (3) the set consists of corner contacts on one corner , except the anchor, and side contacts on both sides incident to . Since type 1 and 2 contains all the contact set which contains exactly one element, contains at least two elements. Then for belongs in (1) is line segment. The additional side contacts on the side which contains a side contact does not restrict . Thus, for belongs in (2) is also line segment. It is obvious that for belongs in (3) is line segment. Therefore, is an edge of S if is of type 4. ∎

See Figure 6(b) that illustrates the subdivision of for and into cells, edges and vertices. Any point in a cell has the same contact set of type 1 or 2. (The gray cell has a contact set of type 1.) Any point on an edge of the subdivision has the same contact set of type 4. (The edge labeled with corresponds to a contact set of type 4.) Each vertex of the subdivision has a contact set of type 3 and is labeled by its corresponding contact set in Figure 6(a).

Observe that an axis-aligned -triangle is not maximal if its anchor lies in a cell or edge of S. Thus, we have the following lemma.

###### Lemma 11.

Every maximal axis-aligned -triangle has its anchor at a vertex of the subdivision of .

Now we explain how to construct the subdivision S for . We use a plane sweep algorithm with a sweep line which has inclination and moves downwards. The status of is the set of rays and edges of intersecting it, which is maintained in a balanced binary search tree along . While moves downwards, the status in changes when meets particular points. We call each such particular point an event point of the algorithm. To find and handle these event points, we construct a priority queue as the event queue which stores the vertices of in the beginning of algorithm as event points. As moves downwards from a position above , some event points are newly found and inserted to and some event points are removed from .

The invariant we maintain is that at any time during the plane sweep, the subdivision above the sweep line

has been computed correctly. Consider the moment at which

reaches a vertex of . If is convex vertex, we add a ray to S and update and if it is contained in locally around . Since every point in near has the same contact set of type 4 consisting of the two edges, is determined uniquely by the two edges. If is a reflex vertex, we add at most two rays, and from , to S and update and accordingly if the ray is contained in locally around and every point in the ray near has the same contact set of type 4. Consider the moment at which reaches the intersection of a ray with the boundary of . Then the ray simply stops there. Consider now the moment at which reaches the intersection point of two rays and . Then the two rays stop at . We add one ray emanating from to S and update and accordingly. Observe that the contact set of points on near is of type 4 consisting of contact elements of the points in and . Thus, the orientation of is uniquely determined in time. If or emanates from a reflex vertex of , makes counterclockwise angle or from the positive -axis. Imagine we move a point from along . Then the contact set of may change at some point to another contact set consisting of contact elements of the points in and . We call such a point a bend point of . Again a bend point of a ray can be found in time. We add to as an event point. Finally, consider the moment at which reaches a bend point of a ray which emanates from the intersection of two rays. Then stops at . We add a new ray emanating from to S and update and accordingly. The orientation of is uniquely determined by the contact elements of the points in in time. Observe that makes a counterclockwise angle other than and from the positive -axis.

At each of these event points, we update and as follows. At an event point where a ray is added to S, we insert to , compute the event points at which intersects with its neighboring rays along and with the boundary of , and add the event points to . At an event where a ray stops, we remove it from and remove the events induced by from . We also compute the event at which the two neighboring rays of along intersect and add them to .

After we have treated the last event, we have computed the subdivision of .

###### Lemma 12.

We can construct the subdivision S of in time using space.

###### Proof.

First we show that the number of event points in the plane sweep algorithm is . A polygon vertex induces at most two rays and generates at most three events at the vertex and two points where the rays intersect the boundary of for the first time. Thus, there are rays induced by polygon vertices and they generate event points. At an event, either (a) two neighboring rays merge into one at their intersection point or (b) a ray making counterclockwise angle or with the positive -axis has at most one bend point, and every ray emanating from a bend point makes a counterclockwise angle other than from the positive -axis. An event of case (a) generates new event points and the number of rays decreases by 1. Thus, the total number of event points of case (a) is . An event point of case (b) generates new events, but only once for a ray making counterclockwise angle or with the positive -axis. Again, the total number of event points of case (b) is .

For each event in the plane sweep algorithm, we stop at most two rays and add at most two rays to S in time. Then we update and accordingly in time since there are elements in and events in . Thus, we can handle an event in time, and we can construct S in time. The data structures S, and all use space. ∎

#### 3.1.2 Computing a largest axis-aligned (α,β)-triangle

By Lemma 11, it suffices to check all vertices of S to find all maximal axis-aligned -triangles. For each vertex of S, the triangle is a maximal axis-aligned -triangle satisfying by definition. We can compute the area of in time by storing to when it is added into S. Then, we can find a largest axis-aligned triangle by choosing a largest one among all maximal axis-aligned -triangles. By Lemmas 11 and 12, we have following theorem.

###### Theorem 13.

Given a simple polygon with vertices in the plane and two angles , we can find a maximum-area -triangle that can be inscribed in in time using space.

### 3.2 Largest (α,β)-triangles of arbitrary orientations

We describe how to find a largest -triangle of arbitrary orientations that can be inscribed in a simple polygon with vertices. We use to denote the coordinate axes obtained by rotating the standard

degree counterclockwise around the origin. We say a triangle with base is -aligned if is parallel to the -axis in .

We use to denote the subdivision of in . We construct the subdivision of at using the algorithm in Section 3.1, and maintain it while rotating the standard -Cartesian coordinate axes from angle 0 to . During the rotation, we maintain the combinatorial structure of (not the embedded structure ) and update the combinatorial structure for each change so that the changes of are handled efficiently. We abuse the notation to refer the combinatorial structure of if understood in the context. For each vertex of , we store the function which returns the actual coordinate of the vertex in the embedded structure . Thus, an edge of is determined by the functions stored at its two endpoints. For each edge of , we store the contact set of the points in the edge.

We say a contact set is feasible at an angle if there exists a -aligned -triangle inscribed in and satisfying . For a contact set , consider all angles at which is feasible. Then these angles form connected components in which are disjoint intervals. We call each such interval a feasible interval of .

For a fixed angle , consider a -aligned -triangle satisfying a contact set . Let be a feasible interval of containing . For , we say a -aligned -triangle satisfying a contact set is maximal for if there is no such that a -aligned -triangle satisfying a contact set has larger area.

#### 3.2.1 Maintaining subdivision under rotations

The combinatorial structure of changes during the rotation. Each change is of one of the following types:

• Edge event: an edge of degenerates to a vertex of . Right after the event, the vertex splits into two with an edge connecting them in . See Figure 7(a).

• Vertex event: an edge of incident to a reflex vertex suddenly appears or disappears on . This event may occur only when an edge of incident to has inclination , , or . See Figure 7(b).

• Align event: an edge of with inclination or splits into two edges with a vertex of in between or two such edges merge into one. This event may occur only for vertex of such that the maximal -aligned -triangle (or its symmetric one) has a reflex vertex of on , a reflex vertex of on its base , and an edge on , or has a vertex of on and , with one of them being reflex. See Figure 7(c).

• Boundary event: a vertex of with degree 2 or larger meets the boundary of or a vertex of with degree 1 meets a vertex of on the boundary of . See Figure 7(d).

Recall that the set for a point on an edge of has at least two elements and for a vertex of has at least three elements. We classify all the contact sets of the vertices of at which an event (except a vertex event) occurs. For a vertex of , belongs to one of the following types. See Figure 8 for an illustration.

• Type : contains a corner contact at a corner and side contacts on both sides incident to .

• Type : contains no side contact on a side and a corner contact on each corner incident to .

• Type : contains two side contacts on a side and a corner contact on a corner incident to .

• Type : contains two corner contacts on a corner, i.e. a corner is on a vertex of , except the case that it contains a corner contact on each corner.

• Type : contains two side contacts on a side, one side contact on another side, and no corner contact on the corner shared by the sides.

Since there are no two vertices of such that the contact sets of them are same, a vertex where an event (except a vertex event) occurs has contact set containing more than three elements. Observe that an -triangle is not maximal if there is a side of such that no contacts are on both and corners incident to . Thus, for a vertex of at which an event (except a vertex event) occurs, has no side such that no contacts on both and corners incident to . Observe that belongs to a type defined above. Thus, the number of events other than vertex events is at most the number of maximal -triangles which have a contact set of one of the types above. We need the following two technical lemmas to bound the number of -triangles satisfying types and .

###### Lemma 14.

Let be a finite family of real value functions such that every is of single variable and continuous, any two functions and intersect in their graphs at most once, every function has domain of size . If there is a constant such that , then the complexity of the lower envelope of is .

###### Proof.

Let . Since there is a constant , we can construct a finite partition of such that each element of has size , except one element of size smaller than or equal to . Then every intersects at most two elements of . Let be the left endpoint of and assume for all . Let and be the sets of functions which are functions restricted to and , respectively. Since any two functions (or two in ) intersect in their graphs at most once and their domains have the same start point or end point, the sequence of the lower envelope of (or ) is a Davenport-Schinzel sequence of order 2. Then the lower envelope of set (and of set ) has complexity , where (or ). Since , the lower envelope of and has complexity .

Now, consider a new partition of obtained by slicing it at every point at which the lower envelopes of and change combinatorially. Since there are such points and the lower envelope of restricted to a component of the new partition has constant complexity, the complexity of the lower envelope of is . ∎

###### Lemma 15.

For a fixed vertex of , there are maximal -triangles with a corner at such that has a corner on the interior of an edge of and has a vertex of on the side opposite to .

###### Proof.

For a fixed , consider a maximal -triangle with a corner at such that has a corner on the interior of an edge of and has a vertex of on the side opposite to . Let denote the angle of rotation such that the base of is parallel to the -axis of .

To count such triangles, let denote all nontrivial -triangles with a corner at , with another vertex of on the side opposite to . Observe that for a fixed angle , or for any two -aligned triangles . Moreover, no -aligned triangle of , except the smallest one, is inscribed in . See Figure 9(a). Let be the function that returns the area of the smallest -aligned triangle of