aa r X i v : . [ c s . C G ] J u l QUADRILATERAL MESHES FOR PSLGS
CHRISTOPHER J. BISHOP
Abstract.
We prove that every planar straight line graph with n vertices has aconforming quadrilateral mesh with O ( n ) elements, all angles ≤ ◦ and all newangles ≥ ◦ . Both the complexity and the angle bounds are sharp. Date : January 2011; revised December 2014; revised November 2015;1991
Mathematics Subject Classification.
Primary: 68U05 Secondary: 52B55, 68Q25 .
Key words and phrases. quadrilateral meshes, sinks, polynomial time, nonobtuse triangulation,dissections, conforming meshes, optimal angle bounds.The author is partially supported by NSF Grant DMS 13-05233. Introduction
The purpose of this paper is to prove:
Theorem 1.1.
Suppose Γ is a planar straight line graph with n vertices. Then Γ hasa conforming quadrilateral mesh with O ( n ) elements, all angles ≤ ◦ and all newangles ≥ ◦ . The precise definitions of all the terminology will be given in the next few sections,but briefly, this means that each face of Γ (each bounded complementary component)can be meshed with quadrilaterals so that the meshes are consistent across the edgesof Γ and all angles are in the interval [60 ◦ , ◦ ] except when forced to be smaller bytwo edges of Γ that meet at an angle < ◦ .Bern and Eppstein showed in [2] that any simple polygon P has a linear sizedquadrilateral mesh with all angles ≤ ◦ . They also used Euler’s formula to provethat any quadrilateral mesh of a regular hexagon must contain an angle of measure ≥ ◦ . Thus the upper angle bound is sharp. Moreover, if a polygon contains anangle of measure 120 ◦ + ǫ , ǫ >
0, then this angle must be subdivided in the mesh (inorder to achieve the upper bound), giving at least one new angle ≤ ◦ + ǫ/
2. Thus the60 ◦ lower bound is also sharp. In [6] I showed that every simple polygon has a linearsized quadrilateral mesh with all angles ≤ ◦ and all new angles ≥ ◦ . Theorem1.1 extends this result to planar straight line graphs (PSLGs). The complexity boundincreases from O ( n ) to O ( n ), but this is necessary: see Figure 1.To save space, we will say that a quadrilateral is θ -nice if all four interior anglesare between 90 ◦ − θ and 90 ◦ + θ (inclusive). When θ = 30 ◦ we shorten this to sayingthe quadrilateral is nice . In this paper, we mostly deal with convex quadrilaterals,so we will always take 0 < θ < ◦ in this definition. A quadrilateral mesh of asimple polygon is nice if all the quadrilaterals are nice. A conforming quadrilateralmesh of a PSLG will be called nice if all the angles are between 60 ◦ and 120 ◦ , exceptfor smaller angles forced by angles in the PSLG. Thus Theorem 1.1 says that everyPSLG with n vertices has a nice conforming quadrilateral mesh with at most O ( n )elements.The quad-meshing result for simple polygons given in [6] is one of the main ingre-dients in the proof of Theorem 1.1. We will start by adding vertices and edges to the CHRISTOPHER J. BISHOP
Figure 1.
Consider a vertex v along the top edge of the illustratedPSLG. Any mesh of this PSLG with all angles ≤ ◦ must insert anew edge at v , creating a new vertex (white) on the edge below. Thisrepeats until we have a path that reaches the bottom edge. If thereare n + 1 horizontal lines and we place n widely spaced vertices on thetop edge, then at least n mesh vertices must be created. A similarargument works if 120 ◦ is replaced by any bound < ◦ .PSLG so that all of the faces become simple polygons. We then quad-mesh a smallneighborhood of each vertex “by hand” using a construction we call a protecting sink(Lemma 5.3); the mesh elements near the vertex will never be changed at later stepsof the construction. The “unprotected” region is divided into simple polygons withall interior angles ≥ ◦ . We then apply the result of [6] to give a nice quad-meshof each of these simple polygons. However, these meshes might not be consistentacross the edges of the PSLG. If the mesh elements have bounded eccentricity (theeccentricity E ( Q ) of a quadrilateral Q is the length of the longest side divided by thelength of the shortest side), then we can use a device called “sinks” (described below)to merge the meshes of different faces into a mesh of the whole PSLG.We say that a simple polygon P is a sink if whenever we add an even number ofvertices to the edges of P to form a new polygon P ′ , then the interior of P ′ has anice quadrilateral mesh so that the only mesh vertices on P are the vertices of P ′ (wesay such a mesh extends P ′ ). It is not obvious that sinks exist, but we shall show(Lemma 5.2) that any nice quadrilateral Q can be made into a sink P by adding N = O ( E ( Q )) vertices to the edges of Q . If we add M extra points to the boundary UADRILATERAL MESHES FOR PSLGS 3 of a sink, then nicely re-meshing the sink to account for the new vertices will use O ( N M ) quadrilaterals in general, but only O ( N M ) quadrilaterals in the importantspecial case when only add the extra points to a single side of the quadrilateral (orto a single pair of opposite sides).The name sink comes from a sink in a directed graph, i.e., a vertex with zeroout-degree. Paths that enter a sink can’t leave. In our construction, points will bepropagated through a quad-mesh (this will be precisely defined in Section 4) andpropagation paths continue until they hit the boundary of the mesh or until theyrun “head on” into another propagation path. Sinks allow us to force the latter tohappen. When an even number of propagation paths hit the boundary of a sink, wecan re-mesh the interior of the sink so that these paths hits vertices of the mesh andterminate. Thus sinks “absorb” propagation paths. Since our complexity boundsdepend on terminating propagation paths quickly, sinks are a big help.Sinks can also be used to merge two or more quadrilateral meshes that are definedon disjoint regions that have overlapping boundaries. As a simple example of howthis works, consider a PSLG Γ which has several faces, { Ω k } , so that Ω k can be nicelymeshed using N k quadrilaterals with maximum eccentricity M < ∞ . Use Lemma 5.2to add O ( M ) vertices to the sides of each quadrilateral in every face of Γ, in order tomake every quadrilateral into a sink. This requires O ( M P k N k ) new vertices. Everyquadrilateral is now a sink with at most O ( M ) extra vertices on its boundary (dueto the sink vertices added to its neighbors). We make sure that the number of extravertices for each quadrilateral is even by cutting every edge in half and adding themidpoints. By the definition of sink we can now nicely re-mesh every quadrilateralconsistently with all its neighbors, obtaining a mesh of Γ, i.e., assuming Lemma 5.2,we have proven: Lemma 1.2.
Suppose Γ is a PSLG, and that every face of Γ is a simple polygon witha nice quadrilateral mesh. Suppose a total of N elements are used in these meshes,and every quadrilateral has eccentricity bounded by M . Then Γ has a nice mesh using O ( N M ) quadrilaterals. Unfortunately, the proof of Theorem 1.1 is not quite as simple as this. When weuse the result for quad-meshing a simple polygon from [6], the method will sometimesproduce quadrilaterals with very large eccentricity, so the merging argument above
CHRISTOPHER J. BISHOP does not give a uniform bound. However, the proof in [6] shows that these higheccentricity quadrilaterals have very special shapes and structure that allow us to usea result from [4] to nicely quad-mesh the union of these pieces. We then use sinks tomerge this mesh with a nice mesh on the union of the low eccentricity pieces. Thusthe proof of Theorem 1.1 rests mainly on four ideas:(1) adding edges to Γ to reduce to the case when every face of Γ is a simple polygon,(2) the linear quad-meshing algorithm for simple polygons from [6],(3) a quad-meshing result from [4] for regions with special dissections, and(4) the construction of sinks (this takes up the bulk of the current paper).Section 2 will review the definitions of meshes and dissections and record somebasic facts. In Section 3 we show how to reduce Theorem 1.1 to the case when thePSLG is connected and every face is a simple polygon. In Section 4 we discuss someproperties of quadrilateral meshes and, in particular, the idea of propagating a pointthrough a quadrilateral mesh. Section 5 gives the definition of a sink and statesvarious results about sinks that are proven in Sections 6-12. Section 13 defines adissection by nice isosceles trapezoids and quotes a result from [4] that a domainwith such a dissection has a nice quadrilateral mesh. Section 14 will review thethick/thin decomposition of a simple polygon and quote the precise result from [6]that we will need. In particular, we will see that the union of “high eccentricity”quadrilaterals produced by the algorithm in [6] has the kind of dissection needed toapply the result from [4]. In Section 15 we will give the proof of Theorem 1.1 usingall the tools assembled earlier. Actually, we will prove a slightly stronger versionof Theorem 1.1: for any θ >
0, we can construct a nice conforming mesh that has O ( n /θ ) elements, and all but O ( n/θ ) of them are θ -nice. Thus when θ is small,“most” pieces are close to rectangles.I thank Joe Mitchell and Estie Arkin for numerous helpful conversations aboutcomputational geometry in general, and about the results of this paper in particular.Also thanks to two anonymous referees whose thoughtful remarks and suggestions ontwo versions of the paper greatly improved the precision and clarity of the exposition.A proof suggested by one of the referees is included in Section 8. UADRILATERAL MESHES FOR PSLGS 5 Planar straight line graphs A planar straight line graph Γ (or
PSLG from now on) is a compact subsetof the plane R , together with a finite set V (Γ) ⊂ Γ (called the vertices of Γ) suchthat E = Γ \ V is a finite union of disjoint, bounded, open line segments (calledthe edges of Γ). Throughout the paper we will let n = n (Γ) denote the number ofvertices of Γ and m = m (Γ) the number of edges. The vertex set V includes bothendpoints of every edge, and may include other points as well (i.e., isolated points ofthe PSLG). Note that the vertex set of a PSLG is not uniquely determined. However,every PSLG has a minimal vertex set and every other vertex set is obtained fromthis one by adding extra points along the edges. It would be reasonable to define aPSLG as the pair Γ = ( V, E ) and to let | Γ | denote the compact planar set which isthe union of these sets, but I have chosen to let Γ denote this set, since I will mostoften be treating a PSLG as a planar set, rather than as a combinatorial object.We let CH(Γ) denote the closed convex hull of Γ, i.e., the intersection of allclosed half-planes containing Γ. Let ∂ CH(Γ) denote the boundary of the convex hulland let int(CH(Γ)) = CH(Γ) \ ∂ CH(Γ) be the interior of the convex hull. We say Γis non-degenerate if int(CH(Γ)) is non-empty, i.e., Γ is not contained in a single line.A face of Γ is any of the bounded, open connected components of R \ Γ. EveryPSLG has a unique unbounded complementary component that we sometimes callthe unbounded face , but a PSLG may or may not have faces. We will say thata bounded, connected open set Ω is a polygonal domain if it is the face of somePSLG (informally, ∂ Ω is a finite union of points and line segments).The polynomial hull of a PSLG Γ is the compact planar set that is the union ofΓ and all of its bounded faces. This set is denoted PH(Γ). The name comes fromcomplex analysis, where the polynomial hull of a compact set K is defined asPH( K ) = { z ∈ C : | p ( z ) | ≤ sup w ∈ K | p ( w ) | for all polynomials p } . This agrees with our definition in the case K is a PSLG. See Figure 2.A polygon or polygonal curve is a sequence of vertices z , . . . z n and open edges( z , z ) , . . . , ( z n , z ). A polygonal path or arc is a similar list of vertices, but withedges ( z , z ) , . . . ( z n − , z n ); the last is not connected back to the first. A polygon is simple if the vertices are all distinct and the edges are pairwise disjoint. A polygon CHRISTOPHER J. BISHOP
Figure 2.
A PSLG, its convex hull and its polynomial hull.is called edge-simple if the (open) edges are all pairwise disjoint, but vertices maybe repeated.The Jordan curve theorem implies that a simple closed polygon has two distinctcomplementary connected components, exactly one of which is bounded. This is theinterior (or face) of the simple polygon. A domain (i.e., an open, connected set) that isthe interior of some simple polygon will be called a simple polygonal domain . If Ωis multiply connected, but every connected component of ∂ Ω is a simple polygon, wesay Ω is a simple polygonal domain with holes . See Figure 3 for some examples. edge−simple polygonsimple polygon simple polygon with holespolygonal domain with holessimply connected polygonal domain
Figure 3.
Examples of the different types of polygonal domains.A triangle is a simple polygon with three vertices (hence three edges). We say asimple polygon P has a triangular shape if there is a triangle T so that P is obtained UADRILATERAL MESHES FOR PSLGS 7 by adding vertices to the edges of T . See Figure 4. Similarly, a quadrilateral Q is asimple polygon with four vertices. We say a simple polygon P has a quadrilateralshape (or is quad-shaped ), if P is obtained by extra adding vertices to the edgesof a quadrilateral Q . The four vertices of Q will be called the corners of P (they arethe only vertices of P where the interior angle is not 180 ◦ ). The other vertices of P will be called interior edge vertices . Figure 4.
A triangle, a triangular shaped octagon, a quadrilateraland a quad-shaped decagon. The black dots are the corners and thewhite dots are the interior edge vertices.A refinement (also called a sub-division ) of a PSLG Γ is a PSLG Γ ′ so that V (Γ) ⊂ V (Γ ′ ) and Γ ⊂ Γ ′ . Informally, Γ ′ is obtained from Γ by adding new verticesand edges and by subdividing existing edges. A mesh of Γ is a sub-division Γ ′ ofΓ such that Γ ′ ⊂ PH(Γ) and every face of Γ ′ is a simple polygonal domain. Notethat we allow the addition of new vertices (called Steiner points ) when we mesh aPSLG.A mesh Γ ′ is called a triangulation if every face of Γ ′ is a triangle and is calleda quadrilateral mesh or quad-mesh if every face is a quadrilateral. We willonly consider meshes by convex quadrilaterals in this paper. It is always possibleto triangulate a PSLG without adding Steiner points, but this is not the case forquadrilateral meshes. Sometimes we wish the mesh of a PSLG to cover the convexhull of the PSLG. In this case, we should add the boundary of the convex hull to thePSLG and mesh this new PSLG.A quadrilateral dissection is a mesh in which every face is a quad-shaped poly-gon. (Similarly, a triangular dissection is a mesh where every face is triangular shaped,but we won’t use these in this paper.) More informally, a quadrilateral dissection islike a quadrilateral mesh, except that quadrilaterals whose boundaries intersect, donot have to intersect at just points or full edges; two edges can overlap without beingequal and the corner of one piece can be an interior edge vertex of another piece. CHRISTOPHER J. BISHOP
A vertex where this happens is called a non-conforming vertex . A quadrilateraldissection is also called a non-conforming quadrilateral mesh . See Figure 5. weakly conforming conformingdissection or non−conformingPSLG with two faces
Figure 5.
On the upper left is a PSLG with two simple polygo-nal faces, followed by a quadrilateral dissection, a weakly conformingquadrilateral mesh and a fully conforming quadrilateral mesh.If every face of Γ is a simple polygon, then a weak quadrilateral mesh of Γ isa quadrilateral mesh of each face, without the requirement that the meshes matchup across the edges of Γ. One of the main goals of this paper is to give a method ofconverting a weak mesh of a PSLG into a true mesh of similar size.3.
Connecting Γ with no small angles We reduce Theorem 1.1 to the case when every face of Γ is a simple polygon.
Lemma 3.1. If Γ is a PSLG with n vertices such that PH(Γ) is connected, then byadding at most O ( n ) new edges and vertices, we can find a connected refinement Γ ′ of Γ so that every face of Γ ′ is a simple polygon and any angles less than ◦ werealready angles in a face of Γ . UADRILATERAL MESHES FOR PSLGS 9
Proof.
We use an idea of Bern, Mitchell and Ruppert [3] (refined by David Eppsteinin [7]) of adding disks that connect different components of Γ. For each component γ of Γ, except the component γ u (“u” for u nbounded) bounding the unboundedcomplementary component of Γ, choose a left-most vertex v of γ and consider theleft half-plane defined by the vertical line through this point, e.g., the vertical lineon the left side of Figure 6. Consider the family of open disks in the left half-planetangent to this line at v , and take the maximal open disk that does not intersect Γ.Its boundary must hit one or more components of Γ that are distinct from γ . Chooseone point on the circle from each distinct component (see the right side of Figure 6);a previously chosen disk touching some component counts as part of that component.Do this for each component of Γ other than γ u , taking the maximal open disk thatis disjoint from Γ and all the previously constructed disks. Figure 6.
For each connected component of Γ (except the compo-nent bounding the unbounded complementary component), choose theleftmost point and expand a disk until it contacts another componentor a previously constructed disk. The process for one component isshown on the left; the result for all the components is shown on theright.After all the disks have been placed, we connect the chosen points on the boundaryof each disk by a PSLG inside the disk that has no angles < ◦ , e.g., as illustratedin Figure 7. If the points are widely spaced, we can simply join them all to the origin(left side of Figure 7), assuming this does not form an angle < ◦ . Otherwise weplace a regular hexagon around the orgin and connect the points on the circle to thehexagon by radial segments (right side of Figure 7). Figure 7.
Joining points on a circle without creating angles < ◦ . Figure 8.
The PSLG in Figure 6 with the disks replaced by theconnecting PSLGs from Figure 7. One face is not a simple polygon.We have now replaced Γ by another PSLG Γ ′ that is connected and contains noangles < ◦ , except for those that were already in Γ. However, the faces of Γ ′ neednot be simple polygons. We will add more disks to get this property.Each face Ω of Γ ′ is either a simple polygon or ∂ Ω has an edge or vertex whoseremoval disconnects ∂ Ω. If there is an edge e so that ∂ Ω \ e has two components,then one of them, γ o (“o” for o uter) separates the other, γ i (“i” for i nner) from ∞ .Let p be the endpoint of e that meets γ i ; after a rotation and translation we canassume p = 0 and e lies on the negative real axis. Choose a vertex v = a + ib on γ i that is farthest to the right, and consider disks in the half-plane { x + iy : x > a } thatare tangent to the vertical line { x + iy : x = a } at v . There is a maximal such opendisk D contained in Ω and its boundary must intersect γ o or a previously generateddisk. We repeat the process until there are no separating edges left and then connect UADRILATERAL MESHES FOR PSLGS 11 points in the disks as above. The procedure is repeated at most once for each edgein the the boundary of the face, hence at most O ( n ) edges and vertices are added. e p Dv Figure 9. If ∂ Ω is not an edge-simple polygon then there is at leastone edge e that divides ∂ Ω into “outer” and “inner” parts. The innercomponent can be connected to the outer component by adding a diskas described in the text.
Figure 10.
The PSLG in Figures 6 and 8 with the disks that prevent“two-sided” edges on the left and these disks replaced by PSLGs on theright. The resulting polygon has faces that are simple polygons.We now have a PSLG so that all the faces are edge-simple. To make the facessimple, we choose a small circle around each repeated vertex and add polygonal arcsinscribed in arcs of these circles as shown in Figure 11. This is easy to do and thedetails are left to the reader. (cid:3) Propagation in quadrilateral meshes
In this section we review a few helpful properties of quadrilateral meshes.
Figure 11.
If there is a vertex that disconnects ∂ Ω, then we placecross-cuts around this vertex that block access from Ω. These lieon some sufficiently small circle around the vertex and use at most O (deg( v )) new edges and vertices. Summing over all vertices gives O ( n ). Lemma 4.1. If Ω is a simply connected polygonal domain that has a quadrilateralmesh, then the number of boundary vertices must be even.Proof. Let Q be the number of quadrilaterals in the mesh, I the number of interiorvertices, B the number of boundary vertices and E the number of edges. Note thatthe number of edges on the boundary also equals B . Each quadrilateral has fouredges, and each interior edge is counted twice, so 4 Q = 2( E − B ) + B = 2 E − B. Thus B = 2( E − Q ) is even. (cid:3) Given a convex quadrilateral Q with vertices a, b, c, d (in the counterclockwise di-rection) and a point x = ta + (1 − t ) b , 0 < t <
1, on the edge [ a, b ], use a line segmentto connect x to y = td +(1 − t ) c on the opposite edge of the quadrilateral. We will callthis a propagation segment. By replacing x with y and repeating the construction, wecreate a path through the mesh that can be continued until it either hits a boundaryedge or returns to the original starting point x . If x is a boundary point, the latteris impossible, so the path must terminate at a distinct boundary point. Applyingthis to every midpoint of a boundary edge shows that each such edge is paired witha distinct edge, giving an alternate proof of Lemma 4.1.We will repeatedly use propagation lines to subdivide a quadrilateral mesh, and soa basic fact we need is that this process preserves “niceness”. UADRILATERAL MESHES FOR PSLGS 13
Lemma 4.2 (Lemma 4.1, [4]) . Suppose Q is a θ -nice quadrilateral. If Q is sub-divided by a propagation segment, then each of the resulting sub-quadrilaterals is also θ -nice. Corollary 4.3.
Suppose Ω is polygonal domain and every component of ∂ Ω is asimple polygon. Then every nice quadrilateral mesh of Ω has a nice subdivision withexactly twice as many vertices on each component of ∂ Ω .Proof. Split each quadrilateral by two segments joining the midpoints of oppositesides. Each boundary edge is split in two so the number of boundary edges on eachcomponent doubles. (cid:3)
Alternatively, one can just split each boundary edge into two, and propagate thesevertices until they hit another boundary midpoint. See Figure 12 for an example ofboth types of subdivision.
Figure 12.
A mesh of an annular region (left) and its double (center).On the right we only double the boundary edges and propagate these.
Lemma 4.4.
A propagation path in a quadrilateral mesh can visit each quadrilateralat most twice (once connecting each pair of opposite sides)Proof.
First we show each edge is visited at most once. Suppose the edge e is visitedtwice by a path that crosses e in the same direction both times. Then the path mustcross e at the same point both times (by the definition of how points propagate).Thus the path is really a closed loop that hits e once. Next suppose e is visited twiceby a propagation path that crosses in opposite directions each time. Then there isanother edge f , opposite to e on one of the adjacent quadrilaterals, so that f iscrossed twice by the same path before e is crossed twice. Iterating the argument gives a contradiction since the crossings of e are separated by only a finite numberof steps. Thus no edge is visited twice. Since each quadrilateral has four sides, andeach side is visited at most once, each quadrilateral is visited at most twice. (cid:3) Sinks
We start by reviewing the definition given in the introduction, and then statingthe results that we will prove in later sections.We say that a mesh Γ of the interior Ω of a simple polygon P extends P if V (Γ) ∩ P = V ( P ), i.e., the only vertices of the mesh that occur on P are the verticesof P (no extra boundary vertices are added).As noted in the introduction, a sink is a simple polygon P with the propertythat whenever we add an even number of vertices to the edges of P to obtain a newpolygon P ′ , then there is nice mesh of the interior that extends P ′ . By Lemma 4.1,a sink must have an even number of vertices and it is a simple exercise to check thatneither a square nor a regular hexagon is a sink. Lemma 5.1.
The regular octagon is a sink. If we add M ≥ vertices to the edges ofa regular octagon P , the resulting polygon P ′ can be extended by a nice quadrilateralmesh with O ( M ) elements. From octagons we will construct other sinks, e.g. we can make a square into a sinkby adding 24 vertices to its boundary, obtaining a 28-gon. Using such square sinks wecan make any rectangle R into a sink by adding O ( E ( R )) extra vertices to the sidesof the rectangle (recall that for a quadrilateral Q , E ( Q ) ≥ Q divided by the shortest side length of Q ). From thecase of rectangles we will deduce: Lemma 5.2. If Q is a nice quadrilateral, then we can make Q into a sink Q ′ byadding N = O ( E ( Q )) vertices to the sides of Q . If we add M vertices to the sidesof Q ′ , the resulting polygon Q ′′ can be extended by a nice mesh using O ( N + M ) quadrilaterals. More precisely, if M = M + M , where M ≥ is an upper bound forthe number of extra points added to one pair of opposite sides of Q and M ≥ is anupper bound for the number of extra points added to the other pair of opposite sidesof Q , then the number of elements in the nice extension of Q ′′ is O ( N + M M ) . UADRILATERAL MESHES FOR PSLGS 15
In particular, if all the extra vertices are added to a single side of the quadrilateral Q (or are only added to a single pair of opposite sides) then the number of meshelements is O ( N + M ).In addition to the “regular” sinks described above, we will also need some “special”sinks that use some angles less than 60 ◦ . These sinks will be polygons inscribed in acircle or a sector. A cyclic polygon P will refer to a simple polygon whose vertices V are all on a circle that circumscribes the polygon. The polygon is θ -cyclic if everycomplementary arc of V on the circle has angle measure ≤ θ (so the smaller θ is, themore P looks like a circle).In this paper, an n -tuple will always refer to an ordered list of n distinct points ona circle, ordered counter-clockwise. Most commonly, we will take these on the unitcircle T = ∂ D = { z : | z | = 1 } (a circle is a 1-dimensional torus, which is why theunit circle is traditionally denoted with a T ). An ( n, θ )-tuple is an n -tuple X ⊂ T sothat each component of T \ X has angle measure ≤ θ . Given an n -tuple X , we let X be the 2 n -tuple obtained by adding the midpoint of each circular arc T \ X anddefine X k to be the 2 k n -tuple obtained by repeating this procedure k times. If X isan n -tuple on T and λ >
0, then λX is the image of X under the dilation z → λz ,so is an n -tuple on the circle λ T = { z : | z | = λ } .If X ⊂ T is an n -tuple, then a sink conforming to X is a polygon P inscribedin the unit circle, so that(1) the vertices of P contain X ,(2) if we add vertices to the edges of P to get a new polygon P ′ , then there isquadrilateral mesh that extends P ′ ,(3) the edges of this mesh cover all the radial segments connecting the origin topoints of X ,(4) every angle in the mesh is between 60 ◦ and 120 ◦ , except for any angles lessthan 60 ◦ at the orgin formed by the radial segments corresponding to X ; suchangles remain undivided in the mesh.This mesh actually conforms to the PSLG consisting of the closed radial segmentsconnecting the origin to the points of X . We abuse notation slightly by saying itconforms to X . We will prove in Section 12 that Lemma 5.3.
Given any d -tuple X on the unit circle, there is a cyclic polygon P with O ( d ) vertices that is a sink conforming to X . If M points are added to P , thenthe corresponding nice conforming mesh has at most O ( M d + d ) elements. For any θ > the number of mesh elements that are not θ -nice is O ( M d + d/θ ) . If at most O ( K ) extra points are added to each boundary edge of the sink, then at most O ( Kd/θ ) of the quadrilaterals are not θ -nice. This lemma is the device that we will use in the proof of Theorem 1.1 to “protect”small angles in the original PSLG, i.e., to prevent these angles from being subdivided.When the vertex v is on the boundary of a face of the PSLG, then instead of usingthe whole mesh we will only use the part that lies inside the face (a sector at v ). Thislemma is also one of two places where the worst case O ( n ) estimate comes from; theother is Theorem 13.1.6. The regular octagon is a sink
In this section we prove Lemma 5.1. We start with:
Lemma 6.1.
Suppose θ , θ , θ , θ ∈ [0 ◦ , ◦ ] , that θ < θ , θ < θ , and that | θ − θ | , | θ − θ | < ◦ , | θ − θ | , | θ − θ | < ◦ . Then the quadrilateral with vertices z = e iθ = cos( θ ) + i sin( θ ) , z = 2 e iθ = 2(cos( θ ) + i sin( θ )) ,z = e iθ = cos( θ ) + i sin( θ ) , z = 2 e iθ = 2(cos( θ ) + i sin( θ )) , has all its interior angles between ◦ and ◦ . (Note that z , z are both on T with z clockwise from z , and z , z are on T with z clockwise from z ; see Figure 13).Proof. This is a straightforward trigonometry calculation. We carry it out in detailfor the corner located at z ; the other three corners are very similar, and are left tothe reader. The situation is illustrated in Figure 13. Consider the segments [ z , z ]and [ z , z ]. The angle formed by these two sides at z is the sum or difference of theangles that each of these sides makes with the radial line L from the origin through z . Set τ = θ − θ . Then considering the isosceles triangle formed by 0 , z , z , we seethat the angle between [ z , z ] and L is between 90 ◦ and 90 ◦ + τ / τ ≤ ◦ , this is between 90 ◦ and 112 . ◦ . UADRILATERAL MESHES FOR PSLGS 17 τ1 11 1θ θ θ θ z z z z z z π−τ2π−τ2 π+τ2 π+τ2θ θ τ = ( − ) L z z L L α β Figure 13.
The diagram in the proof of Lemma 6.1. The quadrilat-eral formed by the points z , z , z , z has all four angles between 60 ◦ and 120 ◦ if | θ − θ | , | θ − θ | are both smaller than 45 ◦ and | θ − θ | , | θ − θ | are both small enough, say less than 1 ◦ (these numbers arenot sharp).On the other hand, if β denotes the angle between [ z , z ] and L (as labeled inFigure 13) and α denotes the angle formed by [ z , z ] and the ray L from 0 through z , then β = ( θ − θ ) + α . We claim α ≤ θ − θ . To prove this, consider the segmentperpendicular to [0 , z ] through z . This intersects [0 , z ] closer to 0 than to z (seeFigure 13) and hence tan( α ) ≤ tan( θ − θ ), giving the claimed inequality. Thus β = | θ − θ | + α ≤ | θ − θ | ≤ ◦ . This proves the angle bounds at z with room to spare. The argument for z isidentical and the arguments for z , z are almost the same (we only need to estimate α , not β ). (cid:3) Lemma 6.2.
Suppose θ > and that z = { z , . . . , z n } and w = { w , . . . , w n } areboth ( n, θ ) -tuples on the unit circle (in particular, they are both ordered on the circlein the same direction). Given any τ > there is an integer t (depending on τ , but not on z or w ) and a sequence of ( n, θ ) -tuples { z k , . . . , z kn } tk =1 so that z j = z j and z tj = w j for j = 1 , . . . n and so that | z kj − z k +1 j | < τ for all k = 0 , . . . , t − and , . . . n . In other words, we can discretely deform z into w through a sequence of ( n, θ ) -tuples that move individual points by less than τ at each step. If z j = w j forsome j , then the points z kj , k = 1 , . . . t are all the same.Proof. Choose arguments θ , φ ∈ (0 ◦ , ◦ ] for z and w . Then choose arguments { θ j } n for z , . . . z n in ( θ , θ + 360 ◦ ); note that the arguments increase since we assumethe n -tuple z is ordered in the counter-clockwise direction. Similarly choose argu-ments { φ j } n ⊂ ( φ , φ + 360 ◦ ) for the elements of w . Now use linear interpolation onthe angles, i.e., θ kj = (1 − kt ) θ j + kt φ j , k = 0 , . . . , t, to define points z kj = exp( iθ kj ). See Figure 14. Since both n -tuples have the sameorderings, none of the lines in Figure 14 cross each other, hence these intermedi-ate points define n -tuples with the correct ordering. Moreover, the 0 ≤ arg( z jk ) − arg( z j +1 k ) < ◦ /t is as small as we wish if t is large enough. In particular, it issmaller than τ if t is large enough, depending only on τ . (cid:3) θ θ θ θ θ θ θ θ θ θθθθθθθ φφφφφφφ Figure 14.
Linear interpolation of the arguments ( n = 7, t = 10). Corollary 6.3.
Suppose that z = { z , . . . , z n } and w = { w , . . . , w n } are ( n, ◦ ) -tuples. There is an integer s so that the annular region bounded between P z and − s P w can be meshed with ns quadrilaterals using only angles between ◦ and ◦ . UADRILATERAL MESHES FOR PSLGS 19 (Recall that P z is a cyclic polygon inscribed on the unit circle T , and − s P w is a cyclicpolygon inscribed on − s T = {| z | = 2 − s } .) If z j = w j for some j , then the mesh canbe chosen so that its edges cover the radial segment from z j to − s w j .Proof. This is immediate from Lemma 6.1 and Lemma 6.2. See Figure 15. (cid:3)
Figure 15.
A quadrilateral mesh of the annular region boundedby two 20-gons inscribed on concentric circles (the outer 20-tuple is aregular octagon with 12 randomly chosen points added; the inner oneis a regular icosagon). This illustrates Corollary 6.3
Lemma 6.4.
Suppose z = { z , . . . , z n } is an ( n, ◦ ) -tuple on the unit circle andsuppose V is a set of t points on the edges of the inscribed polygon P z correspondingto z . Let w be the ( n + t ) -tuple consisting of z and the radial projection of V onto theunit circle. Let A be the annular region bounded between P z and P w and considerthe quadrilateral mesh formed by joining each point of w ⊂ {| z | = 1 / } to its radialprojection onto P z . Then all angles used in this mesh are between . ◦ and . ◦ .Proof. Each angle on P w is the supplement of the base angle of an isosceles trianglewith vertex at the origin and vertex angle ≤ ◦ , hence is between 90 ◦ and 112 . ◦ .Each angle on P z is clearly between 67 . ◦ and 112 . ◦ . See Figure 16. (The figureshows z as a regular octagon, but this need not be the case in general.) (cid:3) γ γθα β Figure 16.
The annular region between a octagon with four extrapoints added to the sides and the “rounded” version of this polygon.Since θ ≤ ◦ , we have α = 90 ◦ − θ/ . ◦ and 90 ◦ . Similarly67 . ◦ ≤ α ≤ β ≤ ◦ − α ≤ . ◦ . Finally, 90 ◦ ≥ γ ≥ ◦ − θ/ ≥ . ◦ as claimed in the text. Lemma 6.5.
Suppose P is a regular octagon, centered at the origin with four of itsvertices on the coordinate axes. Nicely mesh the interior using twelve quadrilaterals,as shown in Figure 17. Place t distinct points on the sides of octagon that touch the x -axis, and connect each of these to another boundary point by a propagation path inthe given mesh of the octagon. The resulting refinement is a nice mesh with at most
12 + 4 t elements.Proof. The niceness is immediate from Lemma 4.2. The complexity bound followsfrom the fact that the propagation paths don’t intersect unless they agree (i.e., twoof the points are endpoints of the same path), and each passes through four meshelements. See Figure 17. (cid:3)
Lemma 6.6.
Suppose z is an ( n, ◦ ) -tuple on the unit circle and P is the cyclicpolygon with these vertices. Suppose we form a new polygon P ′ by adding k distinctpoints to P (all distinct from z ), so that n + k is even. Then P ′ has a nice mesh with O ( n + k ) elements. In particular, this holds if P is a regular octagon, so this resultcontains Lemma 5.1 as a special case.Proof. Let z ′′ be the radial projection of z onto T = {| z | = } and let P ′′ be thecyclic polygon with these vertices. Clearly n ≥
8, so n + k ≥
8. Hence n + k = n + 2 t for some t ≥
0. Let w be some (8 + 2 t )-tuple as described in Lemma 6.5: eight UADRILATERAL MESHES FOR PSLGS 21
120 1201207510567.5
Figure 17.
On the left is the “standard mesh” of a regular octagon.In the center is a mesh formed by non-intersecting propagation paths;given t extra points, 4 t new elements are created. In general, ≃ t newelements might be formed (right side) by intersecting propagationpaths.points are evenly spaced on the unit circle and the other 2 t are the endpoints of t non-intersecting propagation paths for the standard mesh of the octagon shown inFigure 17. Let s be the constant from Corollary 6.3. Let P w be the cyclic polygonon T with vertices w and let 2 − s − P w be the dilation of this by a factor of 2 − s − (soit is a cyclic polygon on 2 − s − T ).Nicely mesh 2 − s − P w by cutting the standard mesh of the octagon by the t prop-agation paths as in Lemma 6.5. Let z ′′ be the rounded version of z ′ . Apply Lemma6.3 to nicely mesh the region between 2 − s − P w and P z ′′ . Then use Lemma 6.4 tonicely mesh the region between P z ′′ and P ′ . Thus the P ′ has been nicely meshedwithout adding any extra boundary points, as claimed. See Figure 18 (but note thatscales are distorted in this figure to make the smaller layers more visible). (cid:3) Square shaped sinks
Given octagonal sinks, we can build sinks with other shapes. In this section weshow that there are “square shaped sinks”:
Lemma 7.1.
We can add 24 vertices to the sides of a square S to make it into asink. If we then add M > extra vertices to the sides of the sink, the interior canbe re-meshed using O ( M ) nice quadrilaterals. If at most M ≥ points are added toone pair of opposite sides of S , and at most M ≥ are added points are added to theother pair of opposite sides, then the number of quadrilaterals needed is O ( M M ) . Figure 18.
This illustrates the proof of Lemma 6.6 with n = 8 , k =8 , t = 4 , s = 5. The back dots are z ′ , the gray dots are z ′′ and thewhite dots are 2 − s − w . The light gray region is meshed by Lemma 6.4,the dark gray by Corollary 6.3 and the white by Lemma 6.5. Theseresults ensure the angles in each region satisfy the desired bounds.Note that the cyclic polygons should be inscribed on circles with radii1 , , . . . , , but to make the combinatorics more visible we have madethe circles larger than this (which distorts the angles). Proof.
We want to place a copy of a regular octagon inside a square in a certain way.Suppose we have a octagon centered at the origin, with sides of length 1 and twosides parallel to each coordinate axis. Let a denote the origin. Let b = ( + √ , ) , and c = ( , + √ ) be the vertices of the octagon in the first quadrant. See Figure 19.Now form an equilateral triangle T with one side parallel to the x -axis and passingthrough b , the vertex e opposite this side on the same vertical line as b , and a sidepassing from e through c ( T is the dashed triangle in Figure 19). Let d be the vertexof the triangle inside the octagon. Let f be the third vertex of the triangle. Let S be the axis-parallel square centered at the origin and passing through e .The Law of Sines implies that | f − b | = | d − b | = | b − c | sin 75 ◦ sin 60 ◦ = 1 · √ √ ≈ . , UADRILATERAL MESHES FOR PSLGS 23 e e60 457522.5aa c bd g bcd g f60f 1
Figure 19.
Placing the octagon within a concentric square.and hence | e − b | = | d − b | tan 60 ◦ = 1 + √ √ ≈ . . Therefore e = ( 12 + 1 √ ,
12 + 1 + √ √ ≈ (1 . , . , and f = ( 12 + 1 √ √ √ ,
12 ) ≈ (2 . , . . Hence f is inside the square S . Therefore the line through a and b intersects thesegment [ e, f ] at a point g strictly inside the square, as shown in Figure 19.We now mesh the region between the square and the octagon as in Figure 20.Consider boundary points of the square that propagate through this mesh. SeeFigure 21. Every point on the two vertical sides of the square hits the octagon underpropagation, and this is true for some points on the horizontal sides of the square,but there are some points that propagate to the other side of the square withouthitting the octagon (e.g., the dashed line on the far right in Figure 21).To fix this, we place two small squares inside S as shown in Figure 22. Inside eachsquare we place an octagon and mesh the region between the small square and thesmall octagon as shown in Figure 19, but rotated by 90 ◦ , so that every propagationpath hitting the small square from above or below propagates to the small octagoninside it. Paths hitting the small square on the vertical sides either propagate to ec b g
60 60 60105120135 12067.5112.5112.5135 82.5
Figure 20.
The mesh of the region between the octagon and thesquare using the points defined in the text. The mesh is symmetricwith respect to the x and y axes, so it suffices the check the angles inthe upper right corner, as done in the right side of the figure. Figure 21.
Some boundary points propagate to the octagon, butother propagate past it.the small octagon, or past it and then to the large octagon. In either case, everyboundary point of the large square S now propagates to one of the three octagons.If we add an even number of new vertices to the boundary of the large square, wecan propagate these until they each hit one of the three octagons. If each octagongets an even number of points, then, since each octagon is a sink, we can re-meshthe interior of the octagons using these points and without adding any new points tothe boundaries of the octagons. If some octagon gets an odd number of extra points,then exactly two of them do. If these two are the central octagon and one of the UADRILATERAL MESHES FOR PSLGS 25
Figure 22.
Now all boundary points of the square propagate to oneof three octagons inside the square. After re-meshing to account forthe new vertices on the small squares, the mesh has 28 vertices on theboundary of the large square.smaller side octagons, we connect them a propagation path, thus adding one morepoint to each boundary. If the two side octagons have an odd number of extra pointseach, then we connect them both to the central octagon by a propagation path; thisadds one point to each of the smaller octagons and adds two points to the centraloctagon. In either case, all three octagons now have an even number of boundarypoints and we can proceed as before. This proves a square can be turned into a sink;counting points in Figure 22 shows that the sink has seven edges on each side of theoriginal square, hence it has 28 vertices in all (including the corners of the square).If we add
M > M points are created on the boundariesof the octagons. After add extra paths (for parity) and re-mesh the octagons, O ( M )quadrilaterals are created inside the octagons. However, up to O ( M ) elements mightbe formed between the octagons and the boundary of the square. For example, if M , M ≥ S , then the every propagation path from one group crosses every pathfrom the other group, generating M · M quadrilaterals. See Figure 23. This can onlyhappen when extra points are added to adjacent sides of S ; if all the extra pointsare added to one side, or to a single pair of opposite sides of S , then only O ( M )quadrilaterals are needed to re-mesh the interior of S . (cid:3) Figure 23. M , M extra points placed on two edges adjacent to acorner of a square sink can create M · M mesh elements.8. Rectangular Sinks
Let ⌈ x ⌉ = min { n ∈ Z : n ≥ x } . Lemma 8.1.
For any rectangle R we can add at most · ⌈E ( R ) ⌉ vertices to theboundary and make R into a sink. If we then add M ≥ extra vertices to one pairof opposite sides, and add M ≥ extra vertices to the other pair of opposite sides,then the interior can be re-meshed using O ( E ( R ) + M M ) nice quadrilaterals.Proof. The idea for this proof was suggested by one of the referees and modifies anearlier proof of the author.We claim the construction of square sinks in the previous section can be adaptedto also handle rectangles with E ( R ) ≤ √
2. See Figure 24. This figure replicatesthe left side of Figure 22 and shows that if the two vertical sides of the square aremoved outward and the small shaded squares are expanded accordingly, the sameconstruction gives a rectangular sink. This works as long as the expanding shadedsquares do not cover the point g . This holds as long as ℜ ( p ) − ℜ ( g ) ≤ ℑ ( g ) ( ℜ and ℑ denote the real and imaginary parts of a complex number).Using the formulas from Section 7 we can show that | b − f | = (1 + √ / √ ≈ . , | b − g | = | b − f | sin 60 ◦ / sin 97 . ◦ ≈ . , ℜ ( g ) = ℜ ( b ) + | b − g | cos 22 . ◦ ≈ . , ℑ ( g ) = ℑ ( b ) + | b − g | sin 22 . ◦ ≈ . . UADRILATERAL MESHES FOR PSLGS 27 g he ge p
Figure 24.
The construction for squares also works for rectangleswith eccentricity sufficiently close to 1. The left side is the same asin Figure 22. The right side is obtained by moving the vertical sidesof the big square outwards and expanding the small shaded squares asshown (we also expand the mesh inside these squares accordingly).These estimates imply A = ℜ ( g ) + 2 ℑ ( g ) ≈ . ℑ ( e ) ≈ . A/ ℑ ( e ) ≈ . √ ≈ . × r rectangle can be sub-divided into at most ⌈ r ⌉ rectangles with eccentricity in [1 , √
2] (it suffices to consider 1 < r < × √ × √ rectangles that also have eccentricity √ Figure 25.
Any 1 × r rectangle can be sub-divided into at most ⌈ r ⌉ sub-rectangles with eccentricity bounded by √
2, and each such sub-rectangle is a sink. When we add extra boundary points, it is easy toadd internal points to make sure each sub-rectangle ends up with aneven number of boundary points. Then each can be re-meshed.
The bound on the number of mesh elements needed when we add extra boundarypoints follows immediately from the similar bounds for the square and near-squaresub-sinks. (cid:3) Nice quadrilateral sinks
Finally, we are ready to prove Lemma 5.2 (nice quadrilateral sinks exist).
Proof of Lemma 5.2.
As shown in Figure 26, we can mesh a nice quadrilateral Q using nine elements, four of which are rectangles, each rectangle touching one side of Q and with the sides of the rectangle parallel or perpendicular to that side of Q . It iseasy to check that each of the five remaining regions is θ -nice if Q is θ -nice. It is alsoeasy to see that we can choose the rectangles with eccentricity bounded by O ( E ( Q )). Figure 26.
The nice quadrilateral Q (left) is meshed with 4 rect-angles (shaded) and 5 smaller quadrilaterals (white). Every boundarypoint of Q is either on one of the rectangles, or it propagates throughone of the white corner quadrilaterals to a rectangle.When we place extra points on the boundary of Q , each point is either on the sideof a rectangle or on the boundary of one of the four corner regions. In the latter case,we propagate the point through the corner to a rectangle. If every rectangle ends upwith an even number of the new boundary points, then we can re-mesh each rectanglesince they are all sinks. Otherwise, either all four rectangles get an odd number ofboundary points, or exactly two do. In the first case, we can connect opposite sidesby a propagation segment as shown on the top right of Figure 27. If exactly tworectangles get an odd number of boundary points, and these two rectangles touchopposite sides of Q , then we again connect them by a propagation segment as shownon the top left in Figure 27.The final possibility is that exactly two rectangles get an odd number of newboundary points and these rectangles touch adjacent sides of Q . In this case, we UADRILATERAL MESHES FOR PSLGS 29 π−θπ−θ π−θ θ θθ θ Figure 27.
The top figures show what to do if opposite pairs ofrectangles get an odd number of new boundary points: we connect thepair by a propagation segment to make the number of boundary pointseven again. The second row shows the construction when a pair ofadjacent rectangles each get an odd number of extra boundary points.The bottom figure verifies the necessary angle bounds.make a connection as shown in the middle of Figure 27. Here we connect both pairsof opposite rectangles by propagation segments for Q , and these segments must crossat some angle θ that is between 60 ◦ and 120 ◦ . We then replace these segments byparallel segments as shown in Figure 27. The exact angles near the crossing pointare show in the lower part of Figure 27. These angles are all between 60 ◦ and120 ◦ . After adding these segments, all the rectangles have an even number of newboundary points and they can then be re-meshed. Thus the quadrilateral with theextra O ( E ( Q )) boundary points due to the four rectangular sinks is also a sink. As with square sinks and rectangular sinks, certain placements of M extra pointsnear the corners of Q can create ≃ M quadrilaterals in the “corner sub-regions”of Q . However, if we place at most M ≥ Q , and at most M ≥ M points on one pair of opposite sides and M points on the other pair ofopposite sides. Thus the sink can be re-meshed using O ( E ( Q ) + M M ) elements. (cid:3) The standard sector mesh
A sector of angle θ and radius r is a region in the plane isometric to S = { z = te iψ : 0 < t < r, | ψ | < θ/ } . The point corresponding to the origin is called the vertex of the sector. We shalluse the term “inscribed sector” to refer to polygons where the circular arc in S hasbeen replaced by a polygonal arc with the same endpoints and possibly other verticesplaced (in order) along the circular arc. See Figure 28. A “truncated sector” withinner radius r and outer radius r is a region similar to S = { z = te iψ : r < t < r , | ψ | < θ/ } , and we define an inscribed truncated sector in the analogous way. See Figure 28. Figure 28.
The definition of a sector and truncated sector (left topand bottom) and inscribed sector and inscribed truncated sector (righttop and bottom).
UADRILATERAL MESHES FOR PSLGS 31
Given a sector of angle θ ≤ ◦ , the “standard sector mesh” is illustrated in Figure29. Note that every angle (except possibly the angle θ at the vertex of the sector), isbetween 60 ◦ and 120 ◦ . This can be verified by the following calculations ( θ , θ areas labeled in Figure 29): 0 < θ ≤ ≤ θ = 180 − − θ ≤ ≤ θ = 12 (180 − θ ) ≤ θ π−θ1 θ θ θ Figure 29.
The standard sector mesh. If 0 < θ ≤ ◦ this usesonly angles between 60 ◦ and 120 ◦ , except possibly for the angle θ atthe vertex of the sector.We define a similar, but more complicated “standard mesh” of a truncated sectoras is illustrated in Figure 30. Here we assume 0 ◦ < θ ≤ ◦ . In the figure, we takethe vertex of the sector to be the origin, one radial edge along the positive real axisand the other along the ray passing through 0 and e iθ . Define the points z = 1 , z , = 2 , z = 4 , z = 8 , z = e iθ ,z = 4 e iθ , z = 8 e iθ , z = 8 e iθ/ , z = 34 z + 14 z . The point z is the intersection of the horizontal line through z and the line ofslope √ z . The point z is the intersection of the upper radial edge of thesector with the line of slope −√
3, through z . The point z is the intersection of thesame radial edge of the sector with the line of slope −√ z . θ z z z z z z θ θ θ z θ z z z z z θ θ
60 60120120 β α60 w θ θ Figure 30.
The standard truncated sector mesh. Angle bounds aregiven in the text.It is easy to check that θ ≤ ◦ implies60 ◦ ≤ θ = 90 ◦ − θ/ ≤ ◦ , ◦ ≤ θ = 90 ◦ − θ/ ≤ ◦ , ◦ ≤ θ = 180 ◦ − θ = 90 ◦ + θ/ ≤ ◦ . From the diagram, we also see that if w is the intersection of the segments [ z , z ]and [0 , z ], thentan α = | w − z || w − z | = | w − z | / | z | − | w | = ( | z | /
2) sin θ − | z | cos θ = 2 sin θ − θ . Since θ/ ≤ ◦ , this meanstan α ≤ − √ ≈ . < . ≈ − √ ◦ . Thus 0 ≤ α ≤ ◦ . Hence the two angles at z are θ ± α , and satisfy75 ◦ ≤ θ ± α = (90 ◦ − θ ± α ≤ ◦ . UADRILATERAL MESHES FOR PSLGS 33
Therefore β = 360 ◦ − θ − (180 ◦ − θ ) − ( θ − α )= 180 ◦ − θ + θ + α = 180 ◦ − (180 ◦ − θ/
2) + (180 ◦ − θ ) / α = 90 ◦ + α, so 90 ◦ ≤ β ≤ ◦ + 15 ◦ ≤ ◦ . Clearly, the supplementary angle to β also satisfiesthe desired bounds. Finally, we should check that the point z is actually in thelower half of the sector as shown in Figure 30. Note that ℑ ( z ) = ℑ ( z ) ≤ | z − z | = 12 | z | sin θ ≤ θ , and the right hand side is the length of the vertical segment connecting z to thesegment [0 , z ] (the dashed ray in Figure 30). Since ℜ ( z ) > ℜ ( z ), this implies z is below the dashed line, as claimed.11. Layered sector meshes
In this section we combine the standard meshes for a sector and truncated sectorto form a “layered” sector mesh.First consider two line segments that meet at angle θ ≤ ◦ . Without loss ofgenerality we can assume these are the radial segments [0 ,
1] and [0 , e iθ ]. Mesh thesector of radius 1 between these lines using the standard sector mesh. Then mesh thetruncated sector between [1 ,
8] and [ e iθ/ , e iθ/ ] using the standard truncated sectormesh. Then reflect this mesh over the segment [0 , e θ/ ]. The union of these threecomponents gives a 2-layer mesh of the sector of angle θ . The important point is thatthe vertices on the radial edges of the sector are at radii that are independent of theangle of the sector. Therefore, if we mesh disjoint sectors at the same vertex thatshare a radial edge, then the meshes match up along that radial edge. See Figures31 and 32.By repeating the construction on larger truncated sectors we can bisect each ofthese angles again, and continue until the angles are as small as we wish. If we startwith an n -tuple X = X on the unit circle, the standard mesh in each sector createsa mesh of the cyclic polygon with vertices X . Using a pair of symmetric truncatedsector meshes as above, we quad-mesh the region between the cyclic polygon for X Figure 31.
A 2-layer sector mesh. At the vertex of the sector is thestandard sector mesh, and between radii 1 and 8 are two copies of thestandard truncated sector mesh for angle θ/ Figure 32.
A 3-layer sector mesh. The upper left shows a sectormesh with three layers and the other three pictures show rescalings ofeach layer. At top right is layer 1, the standard sector mesh for someangle θ (this layer is not visible in the picture at upper left); at lowerleft is layer 2, two copies of a standard truncated sector mesh for angle θ/
2; and at lower right is layer 3, four copies of a standard truncatedmesh for angle θ/
4. More layers could be added to give as many pointsas desired on the outer boundary of the sector (the number of suchpoints doubles with each layer).
UADRILATERAL MESHES FOR PSLGS 35 and X . In general, using k layers we can mesh the cyclic polygon for X k (this wasdefined in Section 5, by repeatedly bisecting the components of T \ X ). Figure 33.
Meshing each sector using two layers as described inSection 11 gives a conforming mesh of the PSLG consisting of six linesegments meeting at a point.We now do a similar construction in each given sector. See Figure 33 for anexample of a two layer mesh in six sectors. The mesh points that occur on the givensegments occur at fixed distances from the origin, independent of the angle, so thesector meshes fit together to form a mesh of a polygon inscribed in the circle. Wesummarize our conclusions as:
Lemma 11.1.
Given any ( d, ◦ ) -tuple X on the circle and a non-negative integer k , there is a nice conforming quadrilateral mesh for X k that uses O (2 k d ) elementsand so that the edges of the mesh cover each radial segment connecting the orgin toa point of X . This mesh will form the center part of the protecting sinks constructed next.12.
Sinks protecting a vertex
Proof of Lemma 5.3.
Consider d segments meeting at a single point, as shown onthe left side of Figure 34. Assume the meeting point is the origin and the segments all have length 1. If any of the angles formed are ≥ ◦ then we add extra radialsegments until all the angles are ≤ ◦ (the dashed lines in the top left of Figure 34).When finished, we have d + O (1) = O ( d ) segments.Intersect the radial segments with the circles of radii 1 and centered at the origin,and inscribe cyclic polygons P and P on each circle using these points. Let A bethe topological annulus bounded by these two polygons. The edges of A on P willbe called the inner edges and the opposite sides on P will be called the outer edges;these outer edges will be the boundary edges of the sink.Place quadrilaterals { Q j } in A as shown by the shaded regions on the bottom,left of Figure 34. Each quadrilateral has one side that is an inner side of A andtwo sides that are sub-segments of the radial segments. The fourth side is parallelto the first and chosen so that the quadrilateral has bounded eccentricity (for largeangles, the fourth side might be a side of P , but for small angles it is in the interior of A . Later, it will be convenient to assume the radial sides of the quadrilaterals { Q j } only take certain values, e.g., powers of 2. This is easy to do while keeping boundedeccentricity.Next, propagate any vertices of the quadrilaterals { Q j } around the annular region,until the propagation paths run into another quadrilateral. Since there are O ( d )quadrilaterals, and each path might travel through O ( d ) sectors, this will create atmost O ( d ) new vertices.Now place a sink inside each of the quadrilaterals { Q j } . Since all these quadri-laterals have bounded eccentricity, there is a uniform upper bound K for the num-ber of sink vertices that occur on each inner edge. Choose an integer k so that2 k − < K ≤ k and add at most 2 k − K extra points to each inner edge so that thenumber of vertices on the inner edge of each quadrilateral sink is exactly 2 k . Call theresulting polygon P ′ (this is a subdivision of P ). Let P ′′ be the rounded version of P ′ inscribed on the circle {| z | = 1 / } . Then choose r = 2 − s − ≪ using Lemma11.1, and place a copy of a k -layer conforming mesh for X in the disk of radius r .The value of s is chosen using Corollary 6.3 so that the annular region between theouter boundary of the k -layer mesh (this is a cyclic polygon on {| z | = r } with 2 k d vertices) and P ′ (this is a cyclic polygon with vertices on {| z | = } with 2 k d vertices)can be nicely meshed. UADRILATERAL MESHES FOR PSLGS 37
Figure 34.
The construction of a vertex protecting sink. We first addedges so every sector has angle ≤ ◦ (upper left). When then createcyclic polygons P and P (upper right) and place bounded eccentricityquadrilaterals { Q j } between these polygons (shaded region in lower leftpicture). We then propagate the corners of these quadrilaterals untilthey run into another quadrilateral (bottom right). Inside a muchsmaller polygon (dark gray, lower right) we place the layered sectormesh given by Lemma 11.1. The white annular region between thisand P is meshed using Corollary 6.3. We show the case when thesink surrounds the vertex v , but if v is on the boundary of a face ofthe PSLG, then the picture above may be restricted to the sector withvertex v that lies inside the face. At most 2 π/θ of the sectors in the sinks can have angle ≥ θ , so at most O ( d/θ ) ofthe quadrilaterals created in the mesh of the protecting sink can fail to be 2 θ -nice.If we add M = M + . . . M d points to the boundary of the sink, with M j pointsbeing added inside the j th sector, these propagate inwards to the quadrilateral sinks.The propagation produces at most O ( M d ) elements in the region outside the ring ofquadrilateral sinks, and it the adds M j points to the outer edge of the quadrilateralsink Q j in the j th sector. Suppose Q j had d j points added to its radial sides bythe propagation of the corner points around the annular region. Since M is evenand P j d j is also even, extra vertices can be added (if needed) between adjacentquadrilaterals { Q j } to ensure every sink has an even number of extra vertices (seeFigure 25 where this was done for rectangles). Then each Q j can be re-meshed with O (1 + d j M j ) elements (but see remark after proof). Summing over j = 1 , . . . , d shows that at most O ( d + M d ) mesh elements are used in the re-meshing of all thesequadrilaterals. The mesh elements created are nice, but we have no better control ontheir angles.However, we do have some control on angles used outside the ring of quadrilateralsinks. The angles in these new elements depend on the sectors they belong to; if theyall belong to a sector with angle greater than θ then they may all fail to be θ -niceso the number of non- θ -nice elements can be as large as O ( M d + d/θ ). But if weonly add K extra points in each sector, then since there are only O (1 /θ ) sectors withangle > θ , we will only create O ( Kd/θ ) non- θ -nice elements. (cid:3) It is important to note that when we add extra vertices to the boundary of aprotecting sink, and then re-mesh the interior of the sink, the quadrilaterals touchingthe center are never changed. All changes required by the new vertices take place inthe region A between P and P . In the proof of Theorem 1.1, this prevents us fromsubdividing any angles that are less than 60 ◦ .The argument above shows that each quadrilateral Q j is remeshed with at most O (1 + d j M j ) elements, but a more careful argument shows only O (1 + d j + M j )elements are needed. Since we won’t use this stronger estimate, we merely sketchthe proof. Recall that each quadrilateral Q j is made into a sink by taking fourrectangular sinks inside Q j , one touching each side of Q j (see Section 9). The pointis that we have chosen the radial sides of the quadrilaterals to be powers of two UADRILATERAL MESHES FOR PSLGS 39 and this implies that when we propagate the corners of the quadrilaterals, only O (1)extra vertices are added to the sub-rectangles of Q j that lie along its radial sides; theremainder are added to the corner regions that are adjacent to P and then thesepoints propagate through the corner region to the sub-rectangle of Q j that lies along P . This rectangle does not get any extra points via propagation from the boundaryof the sink. These observations easily imply the O (1 + d j + M j ) estimate.13. Isosceles trapezoid dissections
In this section we recall a result from [4] that will be needed in the proof of Theorem1.1 to deal with high eccentricity quadrilaterals.The construction of propagation paths for quadrilateral meshes also works forquadrilateral dissections, although it is then possible that a path will terminate atan interior vertex of the dissection, rather than continuing to the boundary of thedissected region. Moreover, in contrast to propagation paths in a quadrilateral mesh,a propagation path in a quadrilateral dissection can return to the same quadrilateralarbitrarily often; see Figure 35 for two such examples. In many cases, a dissection of apolygonal region Ω can be turned into a mesh by propagating non-conforming verticesthrough the dissection until they hit the boundary or another non-conforming vertex(recall from Section 2 that a non-conforming vertex is a corner of one quad-shapedpiece of the dissection, but an interior edge vertex of another piece). In general, thereis no bound on how many times such a propagation path can revisit the same piece,and hence no bound the number of mesh elements generated in terms of the numberof dissection elements.However, in [4] I proved there is such a bound if we “bend” propagation paths andwe introduce some holes in the domain that the bent paths can run in to. We statethe result more carefully below, but first we give some definitions and notation.For our application, it suffices to consider a very special kind of quadrilateral dissec-tion. An isosceles trapezoid is a quadrilateral that is symmetric with respect to theline that bisects two opposite sides (called the bases of the trapezoid). Propagationsegments in the trapezoid parallel to the base side will be called P -segments (“P”for p arallel or p ropagation). A P -path is a polygonal path made up of P -segments.The two base sides will also be called P -sides of the trapezoid. Propagation segments x+ α x+ x+ x Figure 35.
Unlike in a mesh, a propagation path in a dissection cancross the same quadrilateral many times. On a left is a spiral where thishappens finitely often. In the picture on the right, it is straightforwardto check that the propagation path starting at a point x ∈ (0 ,
1) willreach x + α mod 1 on its second crossing of (0 ,
1) (three such iteratesare shown as the dashed line connecting black dots). If < α < Q -segments and the two non-base sides ofthe trapezoid will be called the Q -sides .An isosceles trapezoid dissection is a dissection of a region W into simplepolygons (or pieces) such that(1) all the polygons have the shape of an isosceles trapezoid, and(2) any two trapezoidal pieces can only meet along boundary segments of the sametype (along two Q -sides or two P -sides).The second condition implies we can keep adding P -segments to form a P -path untilthe path either hits a non-conforming vertex or leaves the region covered by thedissection.The domains in Figures 35 and 36 are drawn with isosceles trapezoid dissections.We say that the dissection is θ -nice if all the pieces are θ -nice. If W is a regionwith an isosceles trapezoid dissection, then every boundary edge of W is a subset ofeither a P -side or a Q -side of some trapezoid in the dissection. We call the union UADRILATERAL MESHES FOR PSLGS 41 of the former edges the P -boundary of W and the union of the latter edges the Q -boundary of W . Figure 36.
A domain W dissected by isosceles trapezoids and aquadrilateral mesh constructed by propagating non-conforming verticesalong P -paths (the P -sides of the isosceles trapezoids are drawn witha thicker line). However, in general, we need to allow edges that areonly “close to parallel” to the base edges. It is proven in [4], that if weallow θ deviation from parallel, then we can always mesh with O ( n /θ )quadrilaterals that are 2 θ -nice.A chain in a dissection is a maximal collection of distinct trapezoids T , . . . , T k sothat for j = 1 , . . . k − T j and T j +1 share a Q -side (i.e., the Q -sides are identical,not just overlapping; in other words, the chain of trapezoids forms a quad-mesh oftheir union). If a trapezoid in the dissection does not share a Q -side with any othertrapezoid, we consider it as a chain of length one. For example, the dissection on theleft of Figure 35 consists of a single chain of length 8. The dissection on the right ofFigure 35 consists of a three chains of length 5 (each is similar to the others). Thedissection in Figure 36 has chains of length 2, 4, 5 and 7 and four chains of length1. The ends of a chain consists of two segments: the Q -side of T that is not sharedwith T , and the Q -side of T k that is not shared with T k − . The corners of a chainare the endpoints of the ends of the chain. Usually there are four distinct corners,but there may only be two in the case when T and T k also share a Q -side. In thiscase, the chain forms a closed loop, and we will call this a closed chain. This case is not of much interest to us since no propagation paths will ever occur inside a closedchain.The precise result that we will use is Lemma 11.1 of [4]: Theorem 13.1.
Suppose that W is a polygonal domain with an isosceles trapezoiddissection with n pieces. Suppose also that ◦ ≤ θ ≤ ◦ and that every dissectionpiece is θ -nice. Finally, suppose the number of chains in the dissection is M . Thenwe can remove O ( M/θ ) θ -nice quadrilaterals of uniformly bounded eccentricity from W so that the remaining region W ′ has a θ -nice quadrilateral mesh with O ( nM/θ ) elements. At most O ( M/θ ) new vertices are created on the Q -boundary of W ′ . Atmost O ( M ) vertices are created on the P -boundary of W ′ , and no more than O (1) vertices are placed in any single P -side of dissection piece of W ′ . For this quad-mesh, any boundary point on a Q -side of W ′ propagates to another boundary pointafter crossing at most O ( n ) quadrilaterals. Very briefly, the proof in [4] creates O ( M ) sub-regions of W called return regionsthat are chains of isosceles trapezoids with the property that any P -path crossing5 n + 1 trapezoids must hit at least one return region. Each return region is sub-divided by P -paths into at most O (1 /θ ) parallel chains, called tubes, that are eachapproximately 1 /θ times “longer” than they are “wide” (this is made precise in [4]).This property implies that we can place two quadrilaterals inside each tube with theproperty that any propagation path entering either end of tube can be θ -bent so thatit hits a Q -side of one of the two quadrilaterals. See Figure 37. This terminates thepath. The O ( M/θ ) quadrilaterals inside the tubes are the ones that are removed from W to give W ′ . There are O ( M/θ ) tubes and the corners of these tubes must be P -propagated until the hit ∂W ′ ; this gives the O ( M/θ ) boundary vertices that may becreated on the Q -sides of W ′ . The corners of the O ( M/θ ) removed quadrilaterals alsohave to propagated as Q -paths, giving points on the P -sides of W ′ , but by choosingthe quadrilaterals appropriately we can arrange for only O ( M ) vertices to be createdon the P -sides of W , and at most O (1) vertices are added to any single P -side of W ′ .Since these details of the proof Theorem 13.1 are not needed to apply the result, werefer the reader to [4] for further information. UADRILATERAL MESHES FOR PSLGS 43
Figure 37.
An example of a return region divided into two tubes andof quadrilaterals placed at opposite ends of these tubes. The cornersof these quadrilaterals are connected by a path (dashed) in the tube,dividing it into 2 θ -nice quadrilaterals. Every path entering the tubewill either hit one of the quadrilaterals immediately, or propagate tohit the quadrilateral at the other end of the tube.14. Thick/thin decompositions and meshing a simple polygon
In this section, we review some facts from [6] about meshing a simple polygon.Most of the discussion is background that motivates the result, but is not needed toapply the result. Theorem 14.1, at the end of the section, will contain the precisestatements that we will use.The papers [5] and [6] make use of a decomposition of a polygon into pieces calledthe thick and thin parts. The name is motivated by the thick/thin decompositionof a hyperbolic Riemann surface; the ǫ -thin parts of a surface are the points that lieon a closed curve of hyperbolic length < ǫ that is not deformable to a point (i.e., ahomotopically non-trivial loop). A famous theorem of Margulis says that if S is ahyperbolic Riemann surface, then there is an ǫ > ǫ < ǫ , the ǫ -thin parts are all disjoint. Moreover, each thin part is either apunctured disk (curves around the puncture can be deformed to loops of arbitrarilyshort length) or a cylinder (there is a positive lower bound for the length of any non-trivial loop in such a thin part). See Figure 38. These two cases are called parabolicand hyperbolic thin parts respectively. The names come from the classification of the group elements that represent these loops when the surface is represented as thehyperbolic unit disk quotiented by a discrete group of M¨obius transformations. Figure 38.
A surface with one hyperbolic thin part (darker) andthree parabolic thin parts (lighter).The precise definition of the thin part of a polygon is given in Section 12 of [5]; theconstruction of the thick and thin parts of a polygon is somewhat involved and makesuse of an approximation of the conformal map from the interior of the polygon to theunit disk. For readers who know the terminology, each thin part corresponds to apair of edges of P whose extremal distance inside P is less than ǫ . Briefly, two sides e, f of a polygon have extremal distance < ǫ if and only if there is a non-negativefunction ρ on the interior of P so that:(1) R γ ρds ≥ e to f , and(2) RR ρ dxdy < ǫ .Extremal distance is a conformal invariant that plays a fundamental role in moderncomplex function theory and dynamics; for its basic properties see [1], [9]. We willnot need to understand it to use the results from [5] and [6], but we will use thefollowing fact: if e and f are sides of a polygon P that have small extremal distancein P , then they can be joined inside P by a curve γ whose length is much less thanmin(diam( e ) , diam( f )). The converse need not be true, i.e., a relatively short joiningcurve does not imply the extremal distance is small. However, two sides of P thattouch at a common vertex must have extremal distance zero; thus there will be a thinpart associated to every pair of adjacent edges (parabolic thin parts), and possiblyother thin parts associated to non-adjacent pairs of edges (hyperbolic thin parts). UADRILATERAL MESHES FOR PSLGS 45 A cross-cut of a domain is a Jordan arc in the domain that has both its endpointson the boundary of the domain. If the domain is bounded by a Jordan curve, across-cut γ cuts the domain into two pieces that have γ as the intersection of theirboundaries. The thick/thin decomposition of a polygon is a special partition of itsinterior by cross-cuts. A parabolic thin part is bounded by two sub-segments of P meeting at vertex v of P and by a single circular cross-cut (a subset of the circlecentered at v ). The diameter of the piece is small compared to the distance from v to the nearest distinct vertex or non-adjacent edge of P (as measured in the internalpath metric). See Figure 39.A hyperbolic thin part is bounded by two segments on non-adjacent sides of P andtwo disjoint cross-cuts that connect the endpoints of these segments. The segmentshave the same length, and the internal path distance between them is much smallerthan this length. The cross-cuts are either both concentric circular arcs, or each isthe union of two circular arcs. See Figure 39. The thick parts are everything else.Thin parts can only share a cross-cut boundary with a thick part (never an anotherthin part).We can replace the circular cross-cuts by inscribing polygonal arcs into these cross-cuts to get polygonal thick and thin parts. This gives thin parts that are simplepolygons and it is this type of thin part that we want to use in the proof of Theorem1.1. In fact, [5] shows that by inscribing O (1 /θ ) vertices on each cross-cut, we canensure that each polygonal hyperbolic thin part is meshed by a chain of θ -nice isoscelestrapezoids. However, the eccentricity of these trapezoids may be arbitrarily large,depending on P .In [6] the thick/thin decomposition is applied to quad-meshing as follows. The thinparts come in a small number of very simple shapes and all of these are meshed “byhand”. The thick parts have complex geometry, but the conformal map of a polygonto the unit disk is very well behaved on the thick parts (i.e., there are good estimatesof the distortion) and it can be used to transfer nice meshes on the disk (constructedusing hyperbolic geometry) back to a nice mesh of the thick part that agrees withthe meshes of the thin parts on the common cross-cut boundaries. Figure 39.
Parabolic thin parts are shown in light gray, hyperbolicthin parts in dark gray and the thick part is the remaining white partof the polygon. It is also possible to inscribe polygonal cross-cuts intothese arcs as illustrated on the bottom.The following result includes various facts that are needed in the proof of Theorem1.1. The result is not stated like this in [6], but all the claims made here are establishedas part of the proofs in [5] and [6].
Theorem 14.1.
Suppose P is a simple polygon with n vertices. Then P has a de-composition into O ( n ) simple polygonal pieces of three types: thick pieces, parabolicthin pieces and hyperbolic thin pieces. The total number of edges used in O ( n ) . Sup-pose θ > . Then P has a quadrilateral mesh with O ( n/θ ) elements that sub-dividesthe thick/thin decomposition. The mesh quadrilaterals in the thick parts will be called thick quadrilaterals . Similarly for the parabolic quadrilaterals and hyper-bolic quadrilaterals . The quad-mesh restricted to each type of piece satisfies thefollowing properties: UADRILATERAL MESHES FOR PSLGS 47
Thick pieces:
The interior angles of the thick pieces are all either in [90 ◦ , ◦ + θ ] or in [180 ◦ , ◦ + θ ] . If a thick piece has k cross-cuts boundary arcs, then thequadrilateral mesh in this piece has O ( k/θ ) elements and O ( k/θ ) vertices occur onthe boundary of the thick piece. The eccentricity of every quadrilateral mesh elementin a thick piece is bounded by a constant M , independent of anything else. All themesh elements are nice (angles between ◦ and ◦ ). Each quadrilateral meshelement in a thick piece has at most one of its sides on P . Parabolic thin pieces:
A parabolic thin piece contains exactly one vertex v of P .It is bounded by two sub-segments of P and one polygonal cross-cut with O (1 /θ ) elements. The mesh in this piece has O ( θ − ) elements and O ( θ − ) vertices on theboundary of the thin piece. Every angle of the mesh, except possibly one, has anglemeasure in [60 ◦ , ◦ ] . The possible exception occurs if the vertex v has interior angle α < ◦ in P . In that case, exactly one quadrilateral Q in the mesh of the thin parthas v as a vertex and the angle of Q at v is α . This quadrilateral is a kite witheccentricity O (1 /α ) ; all other quadrilaterals in the mesh of the parabolic thin piecehave eccentricity that is uniformly bounded. Each parabolic quadrilateral Q that doesnot contain a vertex v of P has at most one of its sides on P . If P has angle ≤ ◦ at v then the quadrilateral Q having v as a vertex has two sides on P . If the angleof P at v is greater than ◦ then the angle is subdivided and there are two or morequadrilateral mesh elements that have v for a vertex, and these all have at most oneside on P . Hyperbolic thin pieces:
Each hyperbolic thin part is bounded by two sub-segments S , S of non-adjacent sides of P . The endpoints of S , S are connected by twopolygonal cross-cuts with O (1 /θ ) edges each. The mesh of the thin part is a chainof O (1 /θ ) isosceles trapezoids. The ends of the chain are the segments S , S . Each P -side of each trapezoid is also the side of a thick quadrilateral mesh element. The proof of Theorem 1.1
We can now give the proof of Theorem 1.1. We will actually prove the followingresult that implies Theorem 1.1 if we set θ = 15 ◦ (the proof simplifies slightly in thiscase and the reader may wish to first read it with this in mind): Theorem 15.1.
Suppose Γ is a PSLG with n vertices and suppose < θ < ◦ .Then there is a nice conforming quadrilateral mesh of Γ such that (1) every angle of every quadrilateral is ≤ ◦ , (2) every new mesh angle is ≥ ◦ , i.e., all angles are ≥ ◦ unless the angleoccurs at a mesh vertex that is a vertex of Γ and the edges of the correspondingquadrilateral lie on edges of Γ that make an angle α < ◦ with each other.In this case, the angle of the mesh element there is also α (small angles of thePSLG are not sub-divided), (3) the mesh uses O ( n /θ ) quadrilaterals, (4) all the mesh angles actually lie in the smaller interval from ◦ − θ to ◦ +2 θ with at most O ( n/θ ) exceptions. Taking θ small, we see that in the worst case there are quadratically many meshelements, but they are all close to rectangles with only a linear number of exceptions.Taking θ = 15 ◦ we see that a PSLG with n vertices has a conforming mesh with O ( n ) elements that are all nice with at most O ( n ) exceptions (one for each interiorangle of measure less than 60 ◦ of some face of Γ. Proof of Theorem 15.1.
We give the construction of the mesh as a series of steps, andthen we will count the number of mesh elements created.
Step 1:
Using Lemma 3.1 we reduce to the case when Γ is already meshed by O ( n ) simple polygons and has O ( n ) vertices and edges. Step 2:
For each vertex v of Γ, we choose a disk D centered at v with diametermuch smaller than the distance to the nearest distinct vertex or edge of Γ. Inside D ∩ PH(Γ) we place a 5 ◦ -conforming sink using Lemma 5.3. The interiors of theseconforming sinks are called the protected regions. The only quadrilaterals in ourfinal mesh that will have angles less than 60 ◦ are those at the center these protectingsinks, and only when there are edges of Γ that touch v making angle < ◦ . Thesequadrilaterals touching v will not be altered by any later step of the construction.Note that when we define the boundary of the protecting sink for D , we can assumethat each connected component of ∂D \ Γ is divided into equal sized intervals by theboundary vertices of the sink (when a component has angle measure less than 5 ◦ it contains a single boundary edge of the sink; otherwise the boundary of the sinkinscribed on this arc consists of subarcs of equal angle measure ≤ ◦ ). This fact will UADRILATERAL MESHES FOR PSLGS 49 be used later to show that protecting sinks do not touch hyperbolic thin parts in theunprotected region.
Step 3:
Note that the unprotected region is now meshed by simple polygonswhere all the angles are either close to 90 ◦ or close to 180 ◦ . The former occurs whereboundaries of the protecting sinks meet the edges of Γ, and the latter occur at otherboundary vertices of the protecting sinks. More precisely, the non-protected region ofPH(Γ) is now meshed by simple polygons { P j } with all angles either in [90 ◦ , ◦ ] or[180 ◦ , ◦ ]. By Theorem 14.1 each such face in the unprotected region can be nicelymeshed using O ( k/θ ) quadrilaterals having the properties listed in Theorem 14.1,where k is the number of sides of that face. Summing over all the simple polygonsshows that O ( n/θ ) quadrilaterals are used overall. Step 4:
By Theorem 14.1, the thick quadrilaterals have uniformly bounded eccen-tricity independent of the polygon. Each such quadrilateral can share at most oneside with P . We place a sink in each thick quadrilateral. Step 5:
Similarly, the parabolic quadrilaterals have bounded eccentricity if theangles of the polygon are bounded away from zero, which occurs in our case (asnoted in Step 3, we only apply the thick/thin decomposition to a polygon where allthe angles are ≥ ◦ ). Thus all the parabolic quadrilaterals have uniformly boundedeccentricities. We place a sink in every parabolic quadrilateral. Step 6:
By Theorem 14.1, the hyperbolic quadrilaterals are all θ -nice isoscelestrapezoids and each hyperbolic thin part consists of a chain of such trapezoids. The P -sides of these trapezoids agree with sides of thick quadrilaterals and their Q -sideseither agree with the Q -sides of other elements of the chain or they lie on P . Thus theunion W of all the closed hyperbolic quadrilaterals has a dissection by θ -nice, isoscelestrapezoids that has N = O ( n/θ ) elements but only M = O ( n ) chains. Theorem 13.1says that we can remove O ( M ) = O ( n ) nice quadrilaterals with uniformly boundedeccentricity from W to obtain a region W ′ , such that W ′ can be 2 θ -nicely meshedusing O ( M N/θ ) = O ( n /θ ) quadrilaterals. The mesh creates at most O ( n/θ ) newvertices on the Q -sides ∂W ′ and at most O (1) vertices on each P -side of W ′ . Step 7:
Place sinks in each of the nice quadrilaterals in W \ W ′ (i.e., the quadri-laterals removed from W ). Any extra vertices coming from propagation through themesh of W ′ always land on a single pair of opposite sides of such a quadrilaterals (the Q -sides), and so the removed quadrilaterals can be remeshed using a number ofelements that is comparable to the number of extra vertices. Step 8:
On the boundary of W ′ there may be points that correspond to vertices ofadjacent sinks, but are not vertices of the mesh of W ′ . Propagate such points throughthe mesh of W ′ until they connect with another boundary point of W ′ . There are atmost O ( n/θ ) such boundary points ( O (1) for each sink) and each propagation pathhas length O ( N ) = O ( n/θ ) by Theorem 13.1. Thus at most O ( n /θ ) new meshelements are created. Step 9:
Next we use the re-meshing property of sinks. To make sure every sinkhas an even number of points on its boundary, we first bisect the mesh on W ′ (i.e.,split every quadrilateral into four by bisecting all four edges) and then we split everyboundary edge of every sink into two equal sub-edges. This includes both the sinksplaced in thick quadrilaterals (Step 4) and thin parabolic quadrilaterals (Step 5), aswell as the protecting sinks placed around each original vertex (Step 2). This doublesthe number of vertices on the boundary of each sink, and hence this number is evenfor each sink. Re-mesh the interiors of all the sinks to conform with these vertices.The meshes on the sinks and on W ′ now match each other along all common edgesso we have the desired conforming mesh of Γ.This completes the construction of the mesh.Finally, we have to count the total number of mesh elements that we have created.We are interested both in the total number of elements and in the number of elementsthat are not 2 θ -nice. From our remarks above, the number of mesh elements inside W ′ is O ( n /θ ) and all of these are 2 θ -nice. (The original mesh of W ′ is 2 θ -nice byTheorem 13.1; any further quadrilaterals in W ′ are formed by standard propagationpaths, and these preserve niceness by Lemma 4.2.)Next we consider elements created when remeshing the sinks. Each sink has someshare of the O ( n/θ ) vertices that are created on the boundary of W ′ . It also has O (1)other extra vertices that come from adjacent sinks. There are four types of sinks thathave to be considered: Protecting sinks:
We claimed earlier that at most O ( d ) points would be addedto boundary of a sink protecting a vertex of degree d . To prove this claim we will UADRILATERAL MESHES FOR PSLGS 51 show that the boundary of a protecting sink can only touch thick or parabolic quadri-laterals, never a hyperbolic quadrilateral, and hence the protecting sinks never touch W ′ . More precisely, Lemma 15.2.
An edge e of the boundary of a sink protecting a vertex v of Γ nevertouches a hyperbolic thin part in the unprotected region.Proof. Suppose e is a boundary edge of a protecting sink that also lies on the boundaryof a face P of the unprotected region, and suppose that e contains the side of ahyperbolic thin part in P . Then e would have to have small extremal distance in P to some other side f of P . By the definition of hyperbolic thin parts, e and f cannotbe adjacent on P , and by properties of extremal distance, the path distance between e and f inside P would have to be much smaller than the diameter of either e or f . The disk D containing the sink was chosen to be small compared to the distanceof v to other vertices and edges of Γ, and hence all edges of P that do not touchthe boundary of the sink have a distance from the sink that is much larger than thediameter of the sink itself. Hence f must lie on one of the edges of Γ that definethe sector containing e , or f must be another boundary edge of the same sink (andinside the same sector as e ). However, both these alternatives are impossible. Bythe way that the protecting sinks are constructed in Step 2, each boundary edge ofthe sink in the sector has the same length. If f is a subsegment of Γ, then e is notadjacent to f and hence it must be separated from f by a distance comparable to itsown diameter. On the other hand, if f is on the boundary of the sink, then e and f have the same diameter and since they are not adjacent, they must be separatedby a third edge of the same size. Hence there is no side f of P with small extremaldistance to e , and the lemma is proven. (cid:3) Thus the only extra vertices that are added to the boundaries of protecting sinksare due to sink vertices corresponding to adjacent thick or parabolic quadrilaterals.The number of such points is O (1) per quadrilateral and there are at most O ( d )such quadrilaterals, so by Lemma 5.3 the total number of mesh elements used in aprotecting sink is O ( d ) where d is the degree of the vertex being protected. Also byLemma 5.3, at most O ( d/θ ) of the mesh elements are not θ -nice. Since summing d over all protecting sinks gives at most O ( n ), see that at most O ( n ) mesh elementsare used inside protecting sinks, and that at most O ( n/θ ) of these are not 2 θ -nice. Thick quadrilateral sinks: there are O ( n/θ ) such quadrilaterals and hence O ( n/θ ) elements in the corresponding sinks (because of uniformly bounded eccen-tricity). Each thick quadrilateral shares at most one edge with P . Hence each thickquadrilateral can share at most one edge with a Q -side of W ′ and may share a secondside with P -side of W ′ (this would be a P -side of a hyperbolic quadrilateral in P ).Thus there is at most one side of the thick quadrilateral that gets more than O (1)extra boundary vertices. Thus if K extra vertices are added from W ′ , the re-meshingcan be done with O ( K ) extra elements. Summing over all thick quadrilaterals gives O ( n/θ ) extra mesh elements, so the total is still O ( n/θ ) Thin quadrilateral sinks:
A thin quadrilateral Q can share either zero, one ortwo sides with the simple polygon P that contains it. In the first two cases, Q canshare at most one side with W ′ and the other sides each have at most O (1) extravertices, due to sinks in adjacent quadrilaterals. Moreover, there are O ( n/θ ) suchquadrilaterals and there are O ( n/θ ) vertices on the boundary of W ′ . Thus summingthe number of elements in the remeshings of all such quadrilaterals gives at most O ( n/θ ) mesh elements in total. All could be non- θ -nice.If Q shares two sides with P , we claim that at most one of these sides is on ∂W ′ .To see this, note if Q has two sides on P , then Q contains a vertex v of P . If theangle of P at v close to 180 ◦ , then the method from [6] subdivides the angle at v andany quadrilaterals containing v have at most one edge with P . Thus the angle of P at v must be close to 90 ◦ . However, this implies Q has one side on the boundary ofa protecting sink, and hence at most one side can be on ∂W ′ .Thus the analysis in this case (2 sides on P ) is the same as in the two previouscases (0 or 1 side on P ). Actually, it is a little better since there are only O ( n ) suchparabolic quadrilaterals instead of O ( n/θ ) as in the previous two cases. Quadrilateral sinks removed from W : these all have uniformly bounded ec-centricity and extra vertices coming from propagation through W ′ are only addedto a single pair of opposite sides (the Q -sides). Thus if K vertices are added tosuch a sink, the re-meshing can be accomplished with O ( K ) elements. There are UADRILATERAL MESHES FOR PSLGS 53 O ( n/θ ) propagation paths that can add extra vertices, so summing over all suchquadrilaterals, gives O ( n/θ ) mesh elements inside the removed quadrilaterals.In conclusion, the total number of mesh elements is O ( n /θ ) (the dominant termsare O ( n/θ ) from the mesh of W ′ and O ( n ) from the protecting sinks). The numberof mesh elements that are not 2 θ -nice is O ( n/θ ) (this includes all the mesh elementsin the last four categories of sinks above, plus the number of non- θ -nice mesh elementsthat can occur in protecting sinks). This completes the proof of Theorem 15.1, andhence of Theorem 1.1 as well. (cid:3) Taking a fixed θ , say θ = 15 ◦ , the mesh of Γ has only O ( n ) vertices on the boundaryof the polynomial hull of Γ and all but O ( n ) of the interior vertices have all anglesclose to 90 ◦ , so Corollary 15.3.
The mesh in Theorem 1.1 can be taken so that all but O ( n ) verticeshave degree four. This implies that the mesh can be partitioned into O ( n ) (combinatorial) rectan-gular grids using motorcycle graphs as described by Eppstein, Goodrich, Kim andTamstorf in [8]. Hence the mesh is completely described by a graph of size O ( n ) withinteger labels on the edges; the vertices of the graph are the corners of the rectangularpieces, edges of the graph correspond to a shared boundary arc of two rectangularpieces, and the labels give the number of mesh elements on this shared boundary arc(e.g., see Figure 5 of [8]). Thus, although the mesh in Theorem 1.1 may have O ( n )elements, it only has complexity O ( n ) in a certain sense. Can this observation beexploited in numerical methods that make use of quadrilateral meshes? References [1] L. V. Ahlfors.
Lectures on quasiconformal mappings . The Wadsworth & Brooks/Cole Mathemat-ics Series. Wadsworth & Brooks/Cole Advanced Books & Software, Monterey, CA, 1987. Withthe assistance of Clifford J. Earle, Jr., Reprint of the 1966 original.[2] M. Bern and D. Eppstein. Quadrilateral meshing by circle packing.
Internat. J. Comput. Geom.Appl. , 10(4):347–360, 2000. Selected papers from the Sixth International Meshing Roundtable,Part II (Park City, UT, 1997).[3] M. Bern, S. Mitchell, and J. Ruppert. Linear-size nonobtuse triangulation of polygons.
DiscreteComput. Geom. , 14(4):411–428, 1995. ACM Symposium on Computational Geometry (StonyBrook, NY, 1994).[4] C.J. Bishop. Nonobtuse triangulations of PSLGs. to appear, Discrete and Computational Ge-ometry. [5] C.J. Bishop. Conformal mapping in linear time.
Discrete Comput. Geom. , 44(2):330–428, 2010.[6] C.J. Bishop. Optimal angle bounds for quadrilateral meshes.
Discrete Comput. Geom. ,44(2):308–329, 2010.[7] D. Eppstein. Faster circle packing with application to nonobtuse triangulation.
Internat. J.Comput. Geom. Appl. , 7(5):485–491, 1997.[8] D. Eppstein, M.T. Goodrich, E. Kim, and R. Tamstorf. Motorcycle graphs: Canonical quadmesh partitioning.
Eurographics Symposium on Geometric Processing 2008 , 27(5), 2009.[9] J.B. Garnett and D.E. Marshall.
Harmonic measure , volume 2 of
New Mathematical Monographs .Cambridge University Press, Cambridge, 2005.
C.J. Bishop, Mathematics Department, SUNY at Stony Brook, Stony Brook, NY11794-3651
E-mail address ::