##### Citation preview

1

Discrete

and

Computational

Geometry

Solutions Manual

Discrete and Computational Geometry Exercise Solutions

August 26, 2011

i

Preface to Solutions Manual This is in some sense a complete solutions manual, in that we remark on every exercise appearing in Discrete and Computational Geometry. However, the key word here is “remark”: we do not always answer every exercise. Our remarks range from more or less complete answers, to hints, to unannotated citations of papers from which a solution can be constructed. In a few spots, we belatedly realized that we did not quite ask the question we intended. This is our first pass over these Exercise Solutions, and we have no illusions that it is as complete or detailed as it should be, or that even every answer we give is precisely correct (although we do make it clear when we ourselves are uncertain; nevertheless, we surely made oversights). We solicit our reader’s help in improving the manual. Please write us — no issue is too small for our attention. Thanks!

[email protected] [email protected] January 2011

Chapter 1 Polygons Exercise 1.2. Flesh out the proof of Theorem 1.1 by supplying arguments to (a) justify the claim that if there is a path between the even- and odd-crossings sets, the path must cross ∂P ; and (b) establish that for two points in the same set, there is a path connecting them that does not cross ∂P . For part(a), use contradiction and the construction of the two sets. For part (b), construct paths by following around the boundary of the portion of P that is “in the way.” Exercise 1.5. Prove that every polygonal region with polygonal holes, such as Figure 1.1(d), admits a triangulation of its interior. Use induction on the number of holes. The topmost hole vertex v must see some vertex x of ∂P . So there is a diagonal d from v to x. Doubling d therefore reduces the number of holes by one. Exercise 1.6. Find a tetrahedralization of the cube into five tetrahedra. Two tetrahedra with corners at (0, 0, 0) and (1, 1, 0), two with corners at (1, 0, 1) and (0, 1, 1), and one in the interior. Exercise 1.7. Prove that the Sch¨ onhardt polyhedron cannot be tetrahedralized. Notice that all possible diagonals all external. Exercise 1.10. Prove Corollary 1.9 using induction. (Note from the Errata list that the corollary should be strengthened to say “at least two ears with non-adjacent tips.”) 1

2

CHAPTER 1. POLYGONS Use Lemma 1.3 to conclude there is a diagonal d. Either that diagonal itself cuts off an ear, or it partitions the polygon into two polygons sharing d. In the first case, the inductively available smaller polygon must have two ears, at most one of which is adjacent to d. In the latter case, one ear of each inductive polygon could share d, still leaving two ears.

Exercise 1.11. Show that the sum of the interior angles of any polygon with n vertices is π(n − 2). Every triangulation has n − 2 triangles (by Theorem 1.8), and the sum of each triangle is π. But notice that the sum of all the angles of all the triangles in any triangulation is the sum of the interior angles of a polygon.

Exercise 1.12. Using the previous exercise, show that the total turn angle around the boundary of a polygon is 2π. Here the turn angle at a vertex v is π minus the internal angle at v. This follows from the equation nπ − (n − 2)π = 2π. Exercise 1.13. Three consecutive vertices a, b, c form a mouth of a polygon if ac is an external diagonal of the polygon, a segment wholly outside. Formulate and prove a theorem about the existence of mouths. Every nonconvex polygon has at least one mouth (but not necessarily two mouths). To find this mouth, take the convex hull of this nonconvex polygon. Each “pocket” of the convex hull is a polygon; one of ears of this polygonal pocket is a mouth. (Note that, as with Exercise 1.10 above, Corollary 1.9 should be strengthened as noted. Thanks to Giovanni Viglietta for this correction.) Exercise 1.14. Let a polygon P with h holes have n total vertices (including hole vertices). Find a formula for the number of triangles in any triangulationof P . The answer is n + 2h − 2. See Lemma 5.2 of [O’R87] for details.

? Exercise 1.15. Let P be a polygon with vertices (x , y ) in the plane. Prove that the i

i

area of P is 1 X (xi yi−1 − xi−1 yi ) . 2

3 See Theorem 1.3.3 of [O’R98] for details. See also http://en.wikipedia. org/wiki/Polygon\#Area_and_centroid. Exercise 1.16. For each polygon in Figure 1.8, find the number of distinct triangulations. Answers: (a) 32 (b) 14 (c) 68: 12 with a stars long diagonal, 48 with an inner hexagons long diagonal, 2 with a central equilateral triangle, 6 others [Giovanni Viglietta].

(d) 2.

Exercise 1.17. For each n > 3, find a polygon with n vertices that has a unique triangulation. Construct one with three convex vertices and a reflex chain of n−3 vertices, generalizing Figure 1.10(d). Exercise 1.21. For each n > 3, find a polygon with n vertices with exactly two triangulations. Use Exercise 1.17 and Figure 1.10. Exercise 1.22. For any n ≥ 3, show there is no polygon with n + 2 vertices with exactly Cn − 1 triangulations. [Exercise due to Jeff Erickson.] Notice that moving one vertex of a convex polygon to make it nonconvex kills at least two triangulations. Exercise 1.23. Is it possible to partition a cube into six congruent tetrahedra? Defend your answer. Yes. All six congruent tetrahedra will meet in a common edge along the long diagonal of the cube. See Figure 1.6(c). Exercise 1.24. Find the six different tetrahedralizations of the cube up to rotation and reflection.

4

CHAPTER 1. POLYGONS

? Exercise 1.25. Classify the set of triangulations on the boundary of the cube that “induce” tetrahedralizations of the cube, where each such tetrahedralization matches the triangulation on the cube surface. Choose 3 faces of the cube that share a vertex. Any choice of triangulations of these three squares induces a tetrahedralization of the cube and forces triangulations of all other faces. The one exception is the unique triangulation without the long diagonal.

? Exercise 1.26. Show that the n-dimensional cube can be triangulated into exactly n! simplices. [Exercise due to Jeff Erickson.] Draw the long diagonal and see the action by the symmetric group Sn on each chamber. Exercise 1.27. For each polygon in Figure 1.8, find the minimum number of guards needed to cover it. Answers: (a) 3 (b) 1 (c) 1 (d) 2. Exercise 1.28. Suppose that guards themselves block visibility so that a line of sight from one guard cannot pass through the position of another. Are there polygons for which the minimum of our more powerful guards needed is strictly less than the minimum needed for these weaker guards? No, because the line of sight can be picked up by the blocking guard.

5 Exercise 1.29. Prove that any quadrilateral needs only one guard to cover it. Then prove that any pentagon needs only one guard to cover it. This can be proven easily by a case analysis. Exercise 1.30. Modify Lemma 1.18 to show that one guard placed anywhere in a convex polygon can cover it. Easy. Exercise 1.31. Construct a polygon P and a placement of guards such that the guards see every point of ∂P but P is not covered.

This is Figure 1.4 in [O’R87]. Also known as “Godfried’s favorite polygon” after Godfried Toussaint. Exercise 1.33. For each polygon in Figure 1.16, find a minimal set of guards that cover it. Answers: (a) 3 (b) 5 (c) 3. Exercise 1.34. Construct a polygon with n = 3k vertices such that placing a guard at every third vertex fails to protect the gallery. See Figure 3.6 of [Mic09]. Exercise 1.35. Why is it not possible to easily extend Fisk’s proof above to the case of polygons with holes? The triangulations can no longer be 3-colored; 4 colors are often needed.

6

CHAPTER 1. POLYGONS

Exercise 1.36. Using Exercise 1.14, derive an upper bound on the number of guards needed to cover a polygon with h holes and n total vertices. (Obtaining a tight upper bound is extremely difficult, and only recently settled.) First, convert the polygon into a simple polygon by cutting diagonals to each hole. Construct a triangulation and 3-color the triangles. This leads to b(n + 2h)/3c guards. See Theorem 5.1 in [O’R87] for details. Exercise 1.39. Prove the Fortress theorem. See Theorem 6.1 in [O’R87]. Exercise 1.40. For any n > 3, construct a polygon P with n vertices such that dn/3e guards, placed anywhere on the plane, are sometimes necessary to cover the exterior of P. See Figure 6.7 in [O’R87]. Exercise 1.41. Let P be a polyhedron with a tetrahedralization where all edges and diagonals of the tetrahedralization are on the boundary of P . Make a conjecture about the number of guards needed to cover P . The answer is bn/4c. One can use 4 colors on the vertices, with a proof obtained by removing an “ear” of a tetrahedralization. Exercise 1.42. Show that even though the Sch¨ onhardt polyhedron (Figure 1.7) is not tetrahedralizable, it is still covered by guards at every vertex. This follows from a decomposition of the polyhedron into 8 tetrahedra, by adding an interior point in the center of the polyhedron and drawing diagonals to all 6 vertices. Exercise 1.43. Prove the above claim, which implies that guards at every vertex of the Seidel polyhedron do not cover the entire interior. Notice that this implies the Seidel polyhedron is not tetrahedralizable. Standing at the centroid of one cubical “cell,” one would be surrounded by six walls, separated by ε cracks. So, for ε small, one could only see a bit into each crack. But the vertices are far away, on the exterior cube faces.

7 Exercise 1.44. Let n be the number of vertices of the Seidel polyhedron. What order of magnitude, as a function of n, is the number of guards needed to cover the entire interior of the polyhedron? (See the Appendix for the Ω notation that captures this notion of “order of magnitude” precisely.) The order of magnitude is Ω(n3/2 ). It is nicely explained in [Mic09]. Exercise 1.45. Find another dissection of the Greek cross, something quite different from that of Figure 1.19, that rearranges to form a square. See Figure 10.2 in [Fre97]. Exercise 1.46. Find a dissection of two Greek crosses whose combined pieces form one square. See Figure 3.3 in [Fre97]. Exercise 1.47. Show that any triangle can be dissected using at most three cuts and reassembled to form its mirror image. As usual, rotation and translation of the pieces are permitted, but not reflection. Cut along the perpendiculars from the incenter to the sides. (This is a result of Boltyansky.) Exercise 1.48. Assume no three vertices of a polygon P are collinear. Prove that out of all possible dissections of P into triangles, a triangulation of P will always result in the fewest number of triangles. This is by induction on n. Delete a ear of the polygon. This smaller polygon must have a triangulation yielding fewest triangles (by hypothesis). Now reattach the ear. The “ear edge” must be in the new dissection since no three vertices are collinear. Exercise 1.51. Let polygon P1 be scissors congruent to polygon P2 , and let polygon P2 be scissors congruent to polygon P3 . Show that polygon P1 is scissors congruent to polygon P3 . In other words, show that scissors congruence is transitive. Simply overlay the dissections.

8

CHAPTER 1. POLYGONS

Exercise 1.52. Dissect a 2 × 1 rectangle into three pieces and rearrange them to form √ √ a 3 4 × 3 2 rectangle.

C B A C

A

B

Exercise 1.55. Following the proof of the Bolyai-Gerwein theorem, what is the actual number of polygonal pieces that results from transforming the Greek cross into a square? Assume the total area of the square is 5/2 and use Figures 1.24 and 1.25 for guidance. Overlay the dissections in the two figures. One obtains 26 pieces.

? Exercise 1.56. Show that a square and a circle are not scissors congruent, even permitting curved cuts. Cut both shapes into pieces and use the sum signed curvature of all the pieces. A square has zero sum, whereas a circle does not have zero sum, proving scissor congruence is not possible. Exercise 1.59. Find the dihedral angles of the tetrahedra in Figure 1.26(c) and (d). √ All the angles for part (c) are arctan(2 2) ≈ 70.5◦ . For part (d), the angles are π/4 at the back top edge and at the left vertical edge, for those faces lie on diagonal partitions of the cube into two congruent halves. The others can be computed by dot products of normal vectors: arccos(− 12 ) = 2π/3. Exercise 1.60. Find the dihedral angles of a regular dodecahedron. √ arccos(−1/ 5) ≈ 116.6◦ . Exercise 1.65. Show that a regular tetrahedron cannot be scissors congruent with a cube. A regular tetrahedron has irrational dihedral angles, unlike a cube.

9

? Exercise 1.66. Show that no Platonic solid is scissors congruent to any other Platonic solid. One needs to compute (or look up) dihedral angles for each one. Then show they are all different from each other up to rational multiples. Exercise 1.68. Complete the construction above, dissecting the tetrahedron of Figure 1.29 into a cube. The base of this prism is an isosceles triangle, which can be easily made into a rectangle. This rectangular box can then be dissected into a cube (using a stacking method similar to the proof of Lemma 1.50).

? Exercise 1.69. Let P be a 2 × 1 × 1 rectangular prism.

Cut P into eight or fewer

pieces and rearrange the pieces to form a cube. The 6-piece version of this (hardest version) is given in Figure 20.7 of [Fre97]. (This remarkable dissection is due to Anton Hanegraaf from 1989.)

Chapter 2 Convex Hulls Exercise 2.1. Show that the use of the word “convex” in convex hull is justified; that is, show that conv(S) is indeed a convex region. Let x and y be in conv(S). Then x and y are in all convex sets that contain S. So the segment xy is in all the convex sets that contain S. Thus xy is in conv(S). Exercise 2.3. Let S be the four points {(0, 0), (0, 1), (1, 0), (1, 1)} in the plane. Show using Theorem 2.2 that conv(S) is the square with vertices at S. Any point (x, y) is is obtained by a(0, 0) + b(0, 1) + c(1, 0) + d(1, 1). That is, there exist values a, b, c, d such that (x, y) = (c + d, b + d). Exercise 2.4. For a point set S in the plane with at least four points, show that S can be partitioned into two sets A and B such that conv(A) intersects conv(B). This is Radon’s theorem, found in [Web94]. Exercise 2.5. Show that conv(S) is the convex polygon with the smallest perimeter that contains S. The proof is by contradiction. Choose a vertex of polygon outside of the convex hull. Then use the triangle inequality to get a contradiction. Exercise 2.6. Show that conv(S) is the convex polygon with the smallest area containing S. 11

12

CHAPTER 2. CONVEX HULLS A similar idea as in the previous exercise is enough.

? Exercise 2.7. Show that the rectangle of smallest area enclosing a point set S has at least one of its sides flush with (i.e., containing) an edge of conv(S). The proof uses “rotating calipers.” See http://cgm.cs.mcgill.ca/~godfried/ research/calipers.html for details. Exercise 2.8. Argue that the incremental algorithm terminates. The algorithm consumes one point each iteration. Exercise 2.9. Let the diameterof a point set S be the largest distance between any two points of S. Prove that the diameter of S is achieved by two hull vertices. This is Theorem 2.2.8 in [Web94].

? Exercise 2.10. Prove that if S is the set of n points sampled from a uniform distribution in a unit square, then the expected number of points on the hull of S is of order O(log n). See Theorems 4.1 through 4.4 in [PS90]; several papers are cited and the intuition is given. Exercise 2.11. Find a way to order points in the plane without moving them into general position. Consider the lexicographical ordering. Exercise 2.12. Alter the incremental algorithm so that it still works for point sets which may have two or more points with the same x-coordinate, without rotating the set into general position. If ties occur, choose highest and lowest x-coordinates; discard the others. Exercise 2.13. Adjust the incremental algorithm so that it still works for point sets that may include three or more collinear points. Alter the visibility “checks” to address ties.

13 Exercise 2.14. Given three points (a, b, c), detail a computation that will decide if they form a clockwise or a counterclockwise triangle. Construct the signed area of a triangle; see p. 16 in [O’R98]. Equivalently, compute the cross product (a − c) × (b − c) and look at the z-coordinate.

? Exercise 2.15. In the incremental algorithm, find a method to search for the tangent lines that leads, overall, to a time complexity of O(n) rather than O(n2 ). Notice that this improves the speed of the algorithm to O(n log n). See p. 144 in [Ede87]. Note that any one step still might be linear, but a charging scheme shows the iteration only uses O(n) overall. Exercise 2.16. Prove that the point forming the largest angle to the previous edge must be a hull point. Simple proof by contradiction. Exercise 2.17. Show that this algorithm indeed produces the convex hull, closing up the polygon at the starting point. This follows since the starting point is a point on the hull, and then use the previous exercise. Exercise 2.18. We phrased the gift-wrapping algorithm in terms of angle comparisons, which are notoriously slow and numerically unstable when implemented naively. Show that angle comparisons can be replaced by Left-Of tests, where Left-Of(a, b, c) is true exactly when c is left of the directed line through a and b. This is the viewpoint taken in [O’R98], and detailed there, p. 69. At each step, we want to find the rightmost point, which is the one such that all others are left of it. So the extreme angle can be found by using Left-Of tests. Exercise 2.19. Describe a point set with n points that serves as the worst-case for the gift-wrapping algorithm. Consider points in convex position.

14

CHAPTER 2. CONVEX HULLS

Exercise 2.20. Describe a point set with n points that constitutes the best-case for the gift-wrapping algorithm. What is its time complexity in this case? Consider a point set whose convex hull is a triangle. In this case, the time complexity is O(n). Exercise 2.21. Alter the Graham scan algorithm so that it still works for points in degenerate position. See p. 75 in [O’R98] for details. Exercise 2.22. Describe a point set with n points that is the worst-case for the Graham scan algorithm. Consider a point set whose convex hull is a triangle, where the set of interior points form a letter ‘C’ shape. Exercise 2.23. Given a point set S, design an algorithm that finds some polygon (any polygon) whose vertices are precisely S. Consider the start of the Graham Scan algorithm. Once an angular sort is accomplished, simply connect the points according to this sort. Exercise 2.24. Design a Graham-like algorithm that first sorts the points by their x-coordinate, and then computes the “upper” and “lower” hulls separately. The upper hull is found by repeatedly removing local minima, and the lower hull similarly. Detail the steps needed to realize this high-level description. [Exercise due to Jeff Erickson.] This can be implemented by Graham’s “three-penny” algorithm; note that angles are not needed here.

? Exercise 2.25. Design an algorithm to find the convex hull of a polygon in O(n) time. This is very tricky; see [Mel87] for details. Exercise 2.28. Let S be a set of n points in the plane. Construct an algorithm which finds the convex hull of 3 points of S having the smallest perimeter. What if we want the largest perimeter with 3 points?

15 For the minimum perimeter, O(n3 ) is easy: Just try all

n 3



triangles de-

2

termined by a triple of points. Achieving O(n log n) is more difficult, and takes techniques beyond those covered here. For the largest perimeter, the corners must lie on the convex hull, a by-nomeans obvious claim. (The largest perimeter triangle need not be unique.) This reduces the search space, but still leaves it O(n3 ) by naive search. The time complexity can be can be improved by “matrix search” techniques [AKM+ 87] to O(n log n). There are some complex combinatorial issues here; see [BRS01].

? Exercise 2.29. Generalize the above approach to finding the convex hull of k points of S having the smallest perimeter. How efficiently can this be solved? This is a very difficult problem, with on O(n7 ) algorithm described in [CY86].

? Exercise 2.30. A line is a best fit for a point set S in the plane if it minimizes the sum of the distances between the points in S and the line. Assuming a convex hull algorithm is available, find the best fit line for a given point set S in the plane. The best-fit Chebychev line, which minimizes the maximum distance from the points to the line, must be parallel to a hull edge. This of course requires proof, but a proof is not difficult. Then one has a simple O(n2 ) algorithm.

To minimize the sum of absolute distances is difficult. One reason square distances are preferred (for the least-squares best-fit line) is that absolute distances result in discontinuous derivatives. We in fact do not see how to use the convex hull here, and we apologize for asking this question. We meant to ask for the best-fit Chebychev line. Exercise 2.31. It might seem that the highest and lowest points of A and B should always be the points of tangency we are looking for. Find examples where this is not the case. Consider polygons resembling a small circle and a tall thin rectangle.

16

CHAPTER 2. CONVEX HULLS

Exercise 2.32. Can you find conditions under which the highest and lowest points of A and B will be always be the tangent points we seek? There seems to be no clean criteria that guarantee this. Certainly if the two highest points are at the same y coordinate, and the two lowest points are at the same y-coordinate, then it follows. Otherwise one needs to specify angles at the highest/lowest points in relation to the slope of the tangents.

Exercise 2.33. Prove that walking along A and B as described above guarantees the lower tangent line being found. See Lemma 3.8.1 in [O’R98] for details. Exercise 2.34. Show that throughout the walk, the line segment αβ never intersects the interior of A or B. See Lemma 3.8.2 in [O’R98] for details. Exercise 2.35. Analyze the time complexity for triangulating a polygon following the recursive method implied by Theorem 1.4. In the worst case, we cut off an ear, which is an (unlikely) unbalanced result. So then f (n) = c + f (n − 1), which means f (n) = O(n2 ). Exercise 2.36. If the sorting step of the divide-and-conquer algorithm is skipped, the two hulls A and B that result will, in general, intersect. Construct a merge algorithm that can combine two possibly intersecting convex hulls with n and m vertices in O(n + m) time. See [Tou86] for details. Exercise 2.37. Detail a method to determine whether a triangle face f = (a, b, c) is visible from p. Whether a face f is visible from p can be settled by determining the sign of the dot product of N · (v−p), where v is a vertex of f and N is a vector normal to f : If this product is nonnegative, f is invisible.

17

p N f v

v-p

Exercise 2.38. Let Q be a regular tetrahedron and p a point outside Q. What is the greatest number of faces conv(Q ∪ p) can have for any p? What is the fewest? Can conv(Q ∪ p) have an odd number of faces? The greatest is 6, and the fewest is 4. An odd number is possible: one can get 5 faces with one face being a quadrilateral if p is coplanar with a face of the tetrahedron. Exercise 2.39. Prove that the boundary edges of the region of Q which are visible to p form a simple (nonintersecting) closed curve. Define a half space as bounded by the plane containing p and an edge e of Q. Intersecting all these half spaces produces a convex cone. The intersection of Q with the boundary of this cone is a simple closed curve. In some sense this is just a restatement of what is to be proved, but it adds to the intuition. Perhaps another way to view it is this. Suppose to the contrary that the curve crosses itself. Then a line through p can intersect the curve twice, meaning that we have visibility, invisibility, and again visibility on a line. But this requires a variation in the normal vectors that can only arise from a concavity.

? Exercise 2.40. Provide a version of the gift-wrapping algorithm to compute the convex hull in 3D. See p. 125 in [PS90] for details.

18

CHAPTER 2. CONVEX HULLS

Exercise 2.41. Prove that the faces deleted from A during the merge step form a connected set.

The point is that although the examples in Figure 2.16 show complex topology for the shadow boundary, the complement (which includes the faces deleted from A) is always connected. Similar to Exercise 2.39, this follows from the variation of the normal vectors. A careful proof requires detailed work.

Exercise 2.42. For each shape shown in Figure 2.16, construct examples of convex polyhedra A and B such that the shadow boundary edges of A in conv(A ∪ B) has that particular shape. This shows the complexity of 3D divide-and-conquer as compared to 3D incremental, as contrasted with Exercise 2.39.

A solution to part (b) is given in Figure 4.7 in [O’R98]. The other shapes are similar in construction.

Exercise 2.43. Let A and B be congruent nonintersecting cubes, with B a translated copy of A. What is the most faces conv(A ∪ B) can have? What is the fewest?

The fewest is 6, with the convex hull being a rectangular box. The maximum is 3 + 6 + 3 = 12, obtained by displacing along a diagonal.

Exercise 2.44. Let A and B be congruent nonintersecting regular icosahedra, with B a translated copy of A. Arrange A in some convenient position (say with the line through the top and bottom vertices vertical), and choose some convenient direction for the translation (say perpendicular to some edge and to the vertical). Describe conv(A ∪ B).

The result depends on the exact positioning of the icosahedra, of course. The figure below shows one arrangement that results in 8 parallelograms comprising the “sleeve,” and 10 original triangle faces of A on the below-left and 10 of B on the above-right. The final hull consists of 20 triangles and 8 quadrilaterals.

19

Chapter 3 Triangulations Exercise 3.1. Find all the distinct triangulations of the point set in Figure 3.1. There are six of them; they appear in Figure 3.7, once the three top-left most triangulations depicted there are removed. Exercise 3.2. Show that the edges of the convex hull of a point set S will be in every triangulation of S. Proof by contradiction. If there is an edge of the hull that cannot be in some triangulation, a point of S must be outside the hull. Exercise 3.3. The definition of a triangulation of a point set does not even mention “triangles.” Show that all the regions of the subdivision inside the convex hull must indeed be triangles. Simple proof by contradiction. Exercise 3.4. Extend this algorithm to work for points that may include three or more collinear points (but not all collinear). Instead of drawing edges from an interior point to just the three vertices of the triangle, draw it also to any vertices along the edges. Exercise 3.5. Analyze the time complexity of the triangle-splitting algorithm. 21

22

CHAPTER 3. TRIANGULATIONS From Exercise 2.35, we get O(n2 ) for triangulating a polygon. But triangulating a convex polygon is much easier: just draw a diagonal from one vertex to every other one. This only requires O(n) after the hull is obtained in O(n log n) time. Now, for each interior point, we must identify in which triangle it lies. This is a point-location problem, and can be achieved in O(log n) time per point after setting up a data structure. Then the data structure must be augmented, and the process repeated. So this is primarily an issue of data structures, which we barely mention in the book. It can all be accomplished in O(n log n) time. Without careful data structures, O(n2 ) is easily achievable.

Exercise 3.7. Prove or disprove: The triangle-splitting algorithm produces all possible triangulations of a point set. Disprove: Take a pentagon with a point in the center, and connect its center point to the five vertices. Exercise 3.8. Analyze the time complexity of the incremental algorithm. It is O(n2 ) again. Exercise 3.9. Prove that the incremental algorithm produces a triangulation of a point set in general position. Prove by induction, following the structure of the algorithm. The generalposition assumption makes the next point p unambiguous, and makes the decision of which points are visible from p unproblematical, because p will never see an edge of the previous hull “edge-on.” Exercise 3.10. Prove or disprove: The incremental algorithm produces all possible triangulations of a point set S, assuming all possible rotations of S. Disprove: Take a regular pentagon with a central vertex, and connect the central vertex to the five vertices. Exercise 3.11. Alter the Graham scan convex hull algorithm (Section 2.4) to compute triangulations.

23 First, connect all points to the anchor point. Then, whenever two points are compared for a left turn, connect them with an edge. Exercise 3.14. Show that every triangulation has some vertex of degree at most five. Proof by contradiction using Euler’s formula. Exercise 3.15. Construct a point set S with n + 2 points such that the number of triangulations of S is greater than the Catalan number Cn . For n ≤ 7, the Catalan number yields the greatest number of triangulations. For n = 8, the top table on p. 111 of [LFS10] claims that there is a point set with 150 triangulations. They say (p. 110), “for small n, the point sets that maximize the number of triangulations ... look like [our Figure 3.5].” As their Example 3.3.2 shows, the double chain has Θ(8n n−7/2 ) triangulations, whereas Cn−2 = Θ∗ (4n ). So the double chain eventually dominates. Exercise 3.17. Compare this value with the Catalan number derived in Theorem 1.19. One sees that Catalan Cn ≤ 4n , so 30n is substantially greater. Exercise 3.18. Consider the point set S given in Figure 3.5. It is made of two “double chains” of points, where every pair of points from different chains is visible to each other. Show that the edges drawn in the figure appear in every triangulation of S. Moreover, if there are n points in each chain, find the number of triangulations of S. It is easy to see that each edge must appear in all triangulations. The number of triangulations is obtained by considering the three polygons, two convex n-sided polygons, and one central chamber. Thus the total  · Cn−2 . number of triangulations is Cn−2 · 2n−2 n−1 Exercise 3.19. For every n, construct a point set (not necessarily in general position) with n points whose flip graph is a single node, that is, no flip is possible. Consider n − 1 collinear points, and 1 point not on that line. Exercise 3.20. For every n, construct a point set (not necessarily in general position) with n points whose flip graph is two nodes connected by an arc.

24

CHAPTER 3. TRIANGULATIONS Consider the point set {(0, 1), (0, −1), (−1, 0), (1 + i, 0)} as i varies from 1 to n − 3.

Exercise 3.21. Figure 3.8 shows a triangulation for three different point sets. For each point set, find its flip graph. Answers: (a) The 1-skeleton of the 3D cube (b) Figure 3.13 (c) A square with two edges sticking out from opposite sides. Exercise 3.23. Prove that if pn , a, and b are the only convex vertices in the star of pn , then the star of pn in T is exactly the star of pn in T∗ . If those are the only convex vertices in the star of pn , then all the others are reflex: a reflex chain connecting a to b. But this is exactly the situation when pn is added to T∗ in the incremental algorithm: pn sees a reflex chain, and connects to its two endpoints. Exercise 3.24. Prove or disprove: no point set can have a triangle as a subgraph of its flip graph, that is, three nodes connected in a cycle by three arcs. Proof by contradiction. Assume edge A of triangulation X is flipped to edge B, resulting in triangulation Y . Now to obtain an edge connection node X of the flip graph to a node other than Y , an edge other than A must be flipped in X, say edge C, resulting in triangulation Z. For this to be a cycle in the flip graph, there must be a flip taking Z to Y , which is impossible since they differ by two edge flips. Exercise 3.26. Find the diameters of the flip graphs of the point sets given in Figure 3.8. Answers: (a) 3 (b) 4 (c) 4.

? Exercise 3.27. Find the diameter of the flip graph of the point set given in Figure 3.5. The diameter of the nonconvex region is (7 − 1)2 = 36 by Theorem 2.2 of [HNU99], and the diameter of each convex 7-gon is 5 [STT88]. Thus the diameter of the flip graph is 36 + 5 + 5 = 46.

25 Exercise 3.29. Figure 3.10 shows two triangulations from Figure 3.2 along with their overlapping diagram with 16 edge crossings. Verify Theorem 3.28 by finding a path in the flip graph between the two triangulations with no more than 16 flips.

? Exercise 3.30. Let S be a point set with h points on the hull and k points interior to the hull. Prove that the number of crossings of edges in T12 is at most (3k + h − 3)2 . See Theorem 3.4.8 in [LFS10]. Exercise 3.31. Show that this incremental algorithm indeed results in a partition of the convex hull into tetrahedral pieces. Similar to Exercise 3.9. Exercise 3.33. If the point set S were not in general position, how would this affect the number of tetrahedra? In general position, adding a point increases number of tetrahedra by +3. Adding a point lying in the interior of an edge (not in general position) incident to k tetrahedra increases tetrahedra by +k. Thus points not in general position (usually) greatly increase the number of tetrahedra. Exercise 3.34. Based on the proof of the theorem, how can we find tetrahedralizations with fewer than 3k + 2h − 7 tetrahedra? Find a vertex on the hull with r > 3 incident hull triangles. Exercise 3.35. For arbitrary n > 4, construct an n-point set in R3 (not necessarily in general position) with a tetrahedralization having at most n − 3 tetrahedra.

26

CHAPTER 3. TRIANGULATIONS Start with tetrahedron, add one point outside, and then take hull. Add another point outside very close to boundary, and then take the hull. Continue in this pattern.

Exercise 3.36. Let T be a point set consisting of the four vertices of a regular tetrahedra. Is it possible to add points P interior to T such that the tetrahedralization of the point set T ∪ P results in only regular tetrahedra? No: check the dihedral angles.

? Exercise 3.37. Construct the flip graph of eight points in R

3

whose convex hull forms

a cube. One can do this but it is a painful process. Exercise 3.38. Let S be a point set where no three points are collinear. Show that S is in convex position if and only if there is a unique polygon whose vertices are precisely S. If S is in convex position, then any diagonal d cuts the point set into two pieces. Any other diagonal must intersect d, and so the polygon must not be simple. If S is not in convex position, use Exercise 3.11 to construct two different polygonalizations using two different base points on the hull. Exercise 3.40. Let P be a polygon with selected diagonals prescribed, as illustrated in Figure 3.15. Draw the flip graph of the polygon with the constraint that these red diagonals are fixed, not flippable. Answers: 1-skeleta of (a) pentagonal prism (b) cube (c) pentagon.

? Exercise 3.41. Let P be a convex polygon with n vertices.

Find a formula for the

number of diagonalizations of P with exactly k diagonals. Note that when k = n − 3, we obtain the Catalan numbers.    1 n−3 n−1+k The formula is ; see Section 5.3 in [Sta01] for k+1 k k the start of several generalizations. Exercise 3.43. Let P be a polygon with holes. Show that the flip graph of P is connected.

27 Recall from Exercise 1.5 that one can add one diagonal doubled to remove one hole. Use this to prove that the flip graph for a polygon with one hole is connected, and then use induction for h > 1 holes. Exercise 3.44. Construct graphs with n nodes that have diameter 2. In general, can you construct graphs that have diameter k for an arbitrary value of k? For diameter 2, consider a star graph. For diameter k, consider a path of length k − 1 with a star graph attached to one of its ends. Exercise 3.46. Consider a regular pentagon having area 3. List the 5 area vectors for the 5 vertices of its flip graph (Figure 3.12). Argue that these points lie in a 2D subspace of R5 , as per Theorem 3.45. Specifying that the area is 3 was an error on our parts, attempting to make it simpler (but it does not). Perhaps it is easiest to assume unit edge-length for the pentagon. Then its total area is A = 1.72 (all numbers quoted here are approximate, reported to two decimal places). There are two types of triangle in the triangulation, of areas a1 = 0.48 and a2 = 0.77. Note that 2a1 + a2 = A. One can derive that a2 /a1 = φ, the golden ratio. Here is the area vector for the topmost pentagon in that figure, with p1 the topmost vertex: (2a1 + a2 , a1 , a1 + a2 , a1 + a2 , a1 ) . All the others are just cyclic rotations of this vector. A 2D plane (also known as a 2-flat) can be described by two parameters, let’s say s and t. So each of the five coordinates x1 , . . . , x5 , if they lie in a 2-flat, should be described by linear equations in these two parameters: xi = sαi + tβi + γi . Note that the five coordinates only have three different values, {2a1 + a2 , a1 , a1 + a2 }. So, for each xi , we end up with three equations (rather than five) in the three unknowns {αi , βi , γi }. These are explicitly solvable (e.g., in Mathematica), showing that indeed the 5-dimensional points lie in a 2-flat.

28

CHAPTER 3. TRIANGULATIONS

Exercise 3.47. Prove or disprove: under the algorithm above, it is possible for an edge to be legal and then later become illegal. No: see [Ede01], p.10, where he views each flip as gluing a tetrahedron to the paraboloid.

? Exercise 3.48. Show that for every n, there is a triangulation of n points that requires Ω(n2 ) flips to transform it into the Delaunay triangulation. [Exercise due to Jeff Erickson.] See Figure 1.12 in [Ede01]. Exercise 3.50. Provide a more formal proof of Thales’ theorem. Push A out to the circle boundary along P A, and push C in to the circle boundary along P C. For details, see the Wikipedia article http://en. wikipedia.org/wiki/Thales_theorem. Exercise 3.52. Given the triangles defined in Proposition 3.51, show that D is outside the circumcircle of ABC if and only if B is outside the circumcircle of ACD. Prove this is true even if ABCD does not form a convex quadrilateral. Let the radius of the circumcircle of ABC be r. Fix attention on the AC chord, right of the center as in the figure below. To include B, we must increase the radius of the ACD circle above r (green); but then that leaves D outside the ABC circle. To allow D outside the ABC circle, we must reduce the radius of the ACD circle below r (red); but then that excludes B from the ACD circle. Similar reasoning works when AC is on the other side of the ACB circle.

A

D

B

C

29 Exercise 3.54. Prove that the circumcircle of BCE contains D and that D cannot be inside the triangle BCE. Because E is outside the circumcircle of ABC, its circumcircle (sharing the chord e = BC) includes the sector to that side of that chord, in which D lies. Exercise 3.55. Prove that the smallest angle of any triangulation of a convex polygon whose vertices lie on a circle is the same for each triangulation. Find smallest edge of polygon. The angle opposite this edge is same in all triangulations due to Thales’ theorem. Exercise 3.56. For every n > 3, design a set of n points in the plane, no four cocircular, such that one vertex of the Delaunay triangulation has degree n − 1. Figure 3.24(a) shows a quarter of this configuration. Exercise 3.57. Prove that the triangulation in Figure 3.24(a) is Delaunay. All circumcircles of all the triangles are empty.

? Exercise 3.58. Is the second triangulation given in Figure 3.24(b) the minimum weight triangulation? If not, can you find another triangulation with smaller total weight? We can only refer to the discussion in Section 3.2 of [LFS10]. Exercise 3.60. Construct two n-point sets with the same number of points h on the hull. Provide a bijection between the point sets for which no compatible triangulations exist for this bijection. Choose two identical point sets, with n points in convex position. Label one clockwise {1, 2, 3, 4, . . . , n} and label the other clockwise {2, 1, 3, 4, . . . , n}. The convex hull for both of these forces these points to be connected along clockwise labelings, proving incompatibility for this labeling of points. Exercise 3.61. Given two polygons with n vertices, is it always possible to compatibly triangulate both polygons?

30

CHAPTER 3. TRIANGULATIONS No: Figure 1 of [ASS93] provides a counterexample.

Exercise 3.63. Show that any polygon must have at least three convex vertices. Proof by contradiction using Exercise 1.11. Exercise 3.64. Show that the convex hull of any pseudotriangle is a triangle. Since a pseudotriangle has exactly three convex vertices, all other vertices must be along reflex chains between these three. Exercise 3.67. Find an algorithm which constructs a pointed pseudotriangulations for a given point set. One way to find a pointed pseudotriangulation is to shell the point set. The idea is to remove a point from the hull, compute a new hull, and repeat. The set of hull edges of the sequence of hulls of the point sets that result from this shelling form a pointed pseudotriangulation [HP07]. This is nicely explained in the Wikipedia article, with a figure: http: //en.wikipedia.org/wiki/Pseudotriangle. Exercise 3.68. For any point set, show that pointed pseudotriangulations have the least number of edges over all pseudotriangulations of the point set. A pointed pseudotriangulation with V vertices must have exactly 2V − 3 edges. See [HOR+ 05] for more information on this topic. Exercise 3.70. Show that deleting an edge shared by two pseudotriangles in a pointed pseudotriangulation produces a pseudoquadrilateral, that is, a (possibly degenerate) polygon with exactly four convex vertices. See [RSS08] for details.

? Exercise 3.71. Prove Theorem 3.69 by showing that flipping an interior edge corresponds to the two ways of decomposing a pseudoquadrilateral into two pseudotriangles. See [RSS08] for details. Exercise 3.72. Prove that the flip graph of pseudotriangulations of a planar point set is connected. See [RSS08] for details.

Chapter 4 Voronoi Diagrams Exercise 4.4. Construct a point set with three sites whose Voronoi vertex is exterior to the triangle determined by the sites. Nearly collinear points have a large circumcircle. Exercise 4.5. Without invoking Euclid, provide a simple proof that Figure 4.2(a) is impossible. Label the points p, q, r in counterclockwise order, and let x be any point in the interior of the triangular region. The point x lies on p’s side of the bisector of p and q, so |px| < |qx|. Symmetric arguments imply that |qx| < |rx| and |rx| < |px|. But these three inequalities are inconsistent. Exercise 4.7. Let S contain the sites {(1, 3), (1, 9), (1, 11), (3, 6), (4, 9), (6, 6)}. Draw the Voronoi diagram of S. Simply do it. Exercise 4.8. For each n ≥ 3, is it possible to construct an example of a point set with n sites having no Voronoi vertices? How about having exactly one Voronoi vertex? A point set having no Voronoi vertices follows from n sites on line. A point set with one Voronoi vertex follows from n sites on a circle. Exercise 4.13. Describe the structure of the Voronoi diagram for the vertices of a regular polygon. 31

32

CHAPTER 4. VORONOI DIAGRAMS A regular star graph with its center at the center of the polygon.

Exercise 4.14. For any point set S, prove that Vor(p) is an unbounded region in the plane if and only if p is on the hull of S. Proof by contradiction. The bounded regions will result in an edge on all sides, implying points on all sides. Exercise 4.15. For any point set S, prove that the average number of vertices of a Voronoi region of S is less than 6. If the hull of S is a triangle, then the Delaunay triangulation satisfies E = 3n − 6. If the hull is more than 3 edges, E ≤ 3n − 6. Sum the degrees of the nodes in the Delaunay triangulation. This is 2E ≤ 6n − 12. So the average degree is ≤ 6 − 12/n. Exercise 4.16. We claimed above that the changes to the Voronoi diagram are “local.” Construct an example (for arbitrary n) in which every Voronoi region is altered by the addition of a new site, thus showing that the algorithm might need quadratic time in n. Consider n points on a circle, or nearly on a circle to achieve general position. Exercise 4.17. If the new added site p is outside the convex hull of {p1 , p2 , . . . , pk }, then Exercise 4.14 says that Vor(p) will be an unbounded region. Extend the algorithm to handle this situation. One first needs to represent rays that shoot to infinity. And then handle them a bit specially, because a new region might not close up, but rather be bound by two rays to infinity. Every implementation of the incremental algorithm (and they are all over the web) handles this circumstance. Exercise 4.18. Extend the algorithm to handle the situation when the new added site falls not inside a Voronoi region but directly on a Voronoi edge or Voronoi vertex. One just needs to look at both of the Voronoi regions that contain the newly added point.

33 Exercise 4.19. Detail the geometric properties of a one-dimensional Voronoi diagram: n sites on a line. Design an algorithm to compute it and analyze its computational complexity. Each Voronoi vertex is at the midpoint of its two neighbors. Sort the points in O(n log n) time and then add the midpoints.

? Exercise 4.20. Given n − 1 points on a line, describe conditions on the points that determine whether they represent the one-dimensional Voronoi diagram of n sites on that line. Let the sorted points be X = (x1 , x2 , . . . , xn−1 ), and the sorted sites that gave rise to them p1 , . . . , pn . So we have xi = (pi + pi+1 )/2. Below the xi are vertical bars, the pi circles:

Here we show that not every point set X is possible. If x1 and x2 are close together, and x3 and x4 are close together, then there cannot be a large gap between x2 and x3 . This is because x3 − x2 = (p4 − p2 )/2, whereas the conditions specified imply that x3 − x2 ≈ p4 − p2 . More precisely, because x4 > p4 and p2 > x1 , we have x3 − x2 < 2(x4 − x1 ) , a constraint solely on the x-values. Of course this holds for any four consecutive xi values. By adding two of these constraints together, we get x2 + x4 < 2(x4 + x5 − x1 ) .

? Exercise 4.21. Sketch a divide-and-conquer algorithm to construct Voronoi diagrams. It is worth looking at the original paper by Shamos and Hoey [SH76], which is in some sense was the inception of computational geometry. Exercise 4.22. The computation of the Voronoi diagram is so useful and widely needed that it is now included in standard computation libraries, such as Mathematica or Matlab. Learn how to compute the Voronoi diagram in one of these packages.

34

CHAPTER 4. VORONOI DIAGRAMS Simply do it.

Exercise 4.29. A Pitteway triangulation of S is one for which every point in each triangle of the triangulation has one of its three vertices as the nearest neighbor among all sites of S. Show that not every Delaunay triangulation is a Pitteway triangulation. See Section 2.4 of [OBS92]. Exercise 4.30. Extend the algorithm to handle the case when the additional site p is outside the convex hull of the previous k sites. Similar to Exercise 4.17. Exercise 4.31. Suppose we are given the Delaunay triangulation of a point set S with n points. Design an algorithm that constructs the Delaunay triangulation of the remaining n − 1 sites if a site from S is deleted. How does this algorithm change if the deleted site was on the hull of S or in the interior of conv(S)? Let s be the site marked for deletion. For an interior s, remove the edges that are incident to s, resulting in a polygon P . This would be the shaded polygon in Figure 4.10(c), except without interior edges. Now construct the Delaunay triangulation of this polygon. Exercise 4.32. What is the fewest number of triangles that will be altered by the addition of a site inside the hull? What is the maximum number of affected triangles? The fewest possible is 1 triangle, and the maximum is all triangles.

? Exercise 4.33. For a triangulation T of a point set S, let d(T ) be the diameter of largest circumcircle of any triangle in T . Prove that the Delaunay triangulation has the smallest value for d(T ) over all triangulations of S. This is Exercise 4 of Chapter 1 in [Ede01]. Exercise 4.35. Extend the proof of Theorem 4.34 to relate the 3D Delaunay tetrahedralizations and 4D convex hulls. The argument is actually not that different from R2 → R3 , following the same outline. One source here is [Ede87]. .

35

? Exercise 4.36. Consider the upper convex hull, the set of faces we discarded. If the lower convex hull projects to form Del(S), to what object does the upper convex hull project for S? One obtains the farthest-point Voronoi diagram. See Exercise 11 in Section 5.5 of [O’R98].

Chapter 5 Curves Exercise 5.1. Show that the medial axis of a convex polygon with n vertices could have a vertex of degree n. Consider a regular n-gon. Exercise 5.2. Compute and describe the medial axis for a rectangle. It is a double-Y shape, with 45◦ lines from corners. Exercise 5.3. What is the maximum and minimum number of edges the medial axis tree M (P ) can have for a convex polygon with n vertices? The maximum is 2n − 3 and the minimum is n (for a regular n-gon). Exercise 5.4. Suppose the roof of an L × W rectangular building (assume L ≥ W ) is a medial axis polyhedron. When rain falls on the roof, what percentage falls off of each edge as a function of L and W ? Moreover, if friction causes raindrops to roll down the sloped roof at constant velocity v, what is the longest time a drop is on the roof before falling off, as a function of v, L, and W ? For the percentage, simply compute areas of the regions in projection, ig√ noring the slant. The longest time a drop is on the roof is W/ 2v. Exercise 5.5. Prove that the first two bisectors of a convex polygon P to meet are adjacent. This is by contradiction. 37

38

CHAPTER 5. CURVES

Exercise 5.6. Use this algorithm for the polygon in Figure 5.1(a) and draw the different stages of the construction. Simply do it. Exercise 5.7. Show how to implement the algorithm described for computing the medial axis of a convex polygon to run in O(n log n) time. (This exercise requires familiarity with “priority queue” data structures.) The “times-to-meet” steps do not need to be recomputed, but can be stored in an event queue, with O(log n) time needed to retrieve the next one. Exercise 5.8. Is there a nonconvex polygon whose medial axis does not contain any parabolic arcs, but instead is composed entirely of straight segments? Yes: consider a regular 5-pointed star polygon P for example. Here M (P ) is just 5 straight segments meeting at the center of the inscribed circle. Exercise 5.9. What is the minimum number of edges the medial axis tree M (P ) can have for an arbitrary polygon of n vertices? Three, using lots of reflex vertices.

Exercise 5.10. Construct the medial axis and the straight skeleton of Figure 1.8(a). See figure below, to the left. There are two parabolic arcs meeting the 45◦ diagonal in the lower left corner, and symmetrically in the lower right corner.

39

Exercise 5.11. Construct the straight skeleton polyhedron of Figure 1.8(a). See figure above, to the right. Exercise 5.12. Show that the maximum number of edges of the S(P ) tree is 2n − 3 for a polygon with n vertices. Use Euler’s formula; similar in feel to Exercise 3.14. Exercise 5.13. Design an algorithm to construct the straight skeleton in O(n3 ) time. Once can use a brute-force simulation of the process, using a naive search to find the next event.

? Exercise 5.14. By analyzing the offset curve for the parabola y = x , show that an 2

offset of a smooth curve may not itself be smooth, possibly having one or more “cusps” where the derivative is not uniquely defined. This is difficult, as the offset curve is of degree 6. See [FS95] for details. Exercise 5.15. What is the Minkowski sum of two squares whose sides are parallel? Describe the sum when the side lengths of the squares are a and b. A square of side length a + b. Exercise 5.16. Describe the Minkowski sum of a regular polygon with n vertices (of side length a) and a regular polygon with m vertices (of side length b). Place the polygons so they do not share any parallel sides. The resulting Minkowski sum will have n + m sides, alternating lengths of a and b.

40

CHAPTER 5. CURVES

Exercise 5.17. Prove or disprove: Any regular polygon is the Minkowski sum of a finite number of line segments in the plane. This is only true for regular 2n-gons. Exercise 5.18. Suppose the infinite plane is filled with unit square obstacles, with corners (i − 12 , j − 12 ) and (i + 12 , j + 12 ) for all even integers i and j. (a) If R is a disk of radius r, what is the largest value of r that permits R to move between any pair of lattice points whose coordinates are odd integers? (b) What is the largest value of r that permits R to be placed somewhere in this environment without overlapping any obstacles? Answer: (a) r =

1 2

(b) r =

2 . 2

Exercise 5.19. Answer the questions in Exercise 5.18, now assuming the obstacles are unit disks. Answer: (a) r =

1 2

(b) r =

√ 2 − 21 .

Exercise 5.20. Show that for two convex polygons P and Q in the plane with m and n vertices, their Minkowski sum is a convex polygon with at most m + n vertices. There is proof of this below using star diagram. It is easiest if you assume general position, so that no two edges are parallel. Then each distinct slope of an edge appears in the Minkowski sum. Exercise 5.22. What is the minimum number of vertices of a self-intersecting, closed polygonal curve that determines at least one region of the plane with winding number k? The minimum number is 3k; the shape looks like overlapping triangular regions forming a nesting spiral. Exercise 5.23. Show that if a simple, closed, counterclockwise curve γ is partitioned by a chord c into two simple, closed, counterclockwise curves γ1 and γ2 which share c (directed oppositely), then Φγ (x) = Φγ1 (x) + Φγ2 (x) for any x not on γ or c. There are cancellation of angle sums along c.

41 Exercise 5.24. Using the previous exercise, argue that for a counterclockwise polygon P , ΦP (x) = 0 for x exterior to P and ΦP (x) = +1 for x interior. Triangulate the polygon P . Exercise 5.25. Use the winding number to design an O(n) time algorithm for deciding if a point x is strictly interior to a polygon. First check if x is on the ∂P , and then compute the winding number.

? Exercise 5.26. Argue that if the winding number Φ

∂A∗∂B (p)

for a point p is positive,

then p is inside A ⊕ B. See [Ram96] and [Wei06]. Exercise 5.27. Prove that the Minkowski sum of two convex polygons with n and m vertices, no pair of whose edges are parallel, has exactly n + m edges. Use the star diagram, where all vectors are distinct. Exercise 5.28. Argue that Figure 5.18 establishes that the Minkowski sum could have Ω(n4 ) combinatorial complexity. Thus the bound of O(n4 ) time cannot be improved. Essentially the idea is that each horizontal tine of the left, large polygon gets inflated to n tines by the right, small polygon. So you end up with n2 horizontal tines meeting n2 vertical tines, intersecting in an n4 pattern. See the CGAL Manual, Chapter 24, written by Ron Wein, for insight: http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Minkowski_ sum_2/Chapter_main.html. Exercise 5.29. Describe simple polygons A and B, each with n vertices, whose Minkowski sum A ⊕ B has combinatorial complexity O(1) but whose boundary convolution ∂A ∗ ∂B has combinatorial complexity Ω(n4 ). Modify Figure 5.18, fattening it so it fills out the hatchings. Exercise 5.30. What is the result of applying the midpoint transformation to a regular polygon?

42

CHAPTER 5. CURVES One obtains an inscribed regular n-gon which is rotated.

Exercise 5.31. Prove that the midpoint transformation applied to a curve (open or closed) reduces its length. Use the triangle inequality on two adjacent edges, measuring the distance connecting midpoint to midpoint. Exercise 5.32. Find an example where one application of the midpoint transformation changes a simple polygon to a nonsimple (self-intersecting) polygon. Consider an L-shaped or V-shaped polygon. Exercise 5.33. When the midpoint transformation is iterated, what is the limit shape? Form a conjecture. The limiting shape is a regular convex polygon. But some special polygons (sometimes called Kasner polygons) oscillate. See [GMTT08] and [HZ01] for details. Exercise 5.37. What is the result of applying the discrete flow of equation (5.3) to a regular polygon? The result is a scaled version same n-gon. Exercise 5.38. Find an example where the discrete flow on an initially simple polygon passes through a nonsimple polygon. Consider an L-shaped or V-shaped polygon. Exercise 5.39. In terms of the original shape, what is the point to which the flow converges? Form a conjecture. It converges to the center of gravity of the shape. Exercise 5.40. Suppose the discrete flow is applied to a 3D polygon, a nonplanar closed chain of segments in R3 . Formulate a conjecture on what happens. The 3D polygon approaches planarity and follows Theorem 5.36.

43 Exercise 5.41. Show that the hedge in the preceding sentence — “ potentially larger” — is necessary by constructing a curve C with a point x in C such that ρ(x) is arbitrarily small, even if the curvature of C in a neighborhood of x is zero. There could be a nearby parallel section of C which squeezes M (C) between; see Figure 5.27(b). Exercise 5.43. Prove that any disk centered at a point x in C with radius less than or equal to ρ(x) intersects C in a connected subcurve of C. See Corollary 4 of [ABE98]. Exercise 5.44. Prove that if a disk is tangent to C at a smooth point x in C and has radius less than or equal to ρ(x), then the disk contains no points of C in its interior. Lemma 7 of [ABE98]. Exercise 5.45. Prove that if x and y are points in C, then ρ(x) ≤ ρ(y) + |x − y|. This property is known as Lipschitz continuity. See Lemma 1.2 of [Dey06].

Chapter 6 Polyhedra Exercise 6.2. Show that each face of a convex polyhedron must be a convex polygon. Proof by contradiction. The neighborhood of a reflex vertex is a local nonconvexity, violating the definition. Exercise 6.5. Find the ten Archimedean solids that are composed of just two distinct types of regular polygon faces, by generalizing equation (6.2). Use k1 , k2 in place of k, and m1 , m2 in place of m, and run through small values satisfying the inequality. This provides seven of the cases; the final three are (4, 6, 8), (3, 4, 5, 4), and (4, 6, 10).

? Exercise 6.6. Prove that the dihedral angles of a regular polyhedron are identical. One route is to look at the Gaussian sphere, where each face normal becomes a point, and each dihedral angle becomes an arc on the sphere whose length equals that angle. Then argue that a regular polyhedron has a regular network on the sphere. We would be interested to learn of other approaches. Exercise 6.7. Draw Schlegel diagrams for the 4D tetrahedron (the 4-simplex) and the 4D octahedron (the 4-orthoplex). The 4D tetrahedron: http://en.wikipedia.org/wiki/Pentachoron The 4D octahedron: http://en.wikipedia.org/wiki/16-cell. 45

46

CHAPTER 6. POLYHEDRA

Exercise 6.8. Find the number of 3D faces for the 4D associahedron whose Schlegel diagram was given in Figure 3.14. It is 14, which is the number of ways of drawing one diagonal on a 7-gon. Exercise 6.9. Find a completely combinatorial definition of a triangulated polyhedron, that is, one that avoids using homeomorphisms. Every edge must be shared by two faces, and the triangles incident to every vertex form a simple cycle.

? Exercise 6.10. The definition of a homeomorphism is that it is a mapping between two spaces that (a) is one-to-one, (b) is continuous, and (c) has a continuous inverse. Construct examples to show that all three conditions are necessary to capture this notion of topological equivalence. Wrapping the interval [0, 1) to form a circle shows that the inverse must be continuous. Exercise 6.11. Compute V − E + F for the great dodecahedron in two ways: (a) when viewed as composed of many congruent triangular faces, and (b) when viewed as composed of interpenetrating congruent regular pentagons. Answers: (a) V = 12 + 20 = 32, F = 20 · 3 = 60, E = 30 + 3 · 20 = 90 (b) V = 12, F = 12, E = 30. Exercise 6.13. Form a polyhedron P by gluing k dodecahedra together in a string, each one sharing a pentagon face with its neighbors. Remove all those internal shared pentagons and verify Euler’s formula for P . Enumeration yields F = 10k + 2, E = (30 − 5)k + 5, V = (20 − 5)k + 5. Exercise 6.14. Using induction, prove the tree lemma: a tree of n vertices has n − 1 edges. A tree of one vertex has no edges. Given a tree of n vertices, remove a leaf vertex and the incident edge, producing a tree of n − 1 vertices. Apply induction to conclude it has n − 2 edges. Add back the leaf.

47 Exercise 6.16. Verify Euler’s formula for the polyhedron in Figure 6.6. Enumeration yields F = 76, E = 146, V = 64. Exercise 6.17. Compute the Euler characteristic and genusof the two polyhedra shown in Figure 6.10. Answers: (a) χ = −2, g = 2 (b) χ = −12, g = 7. Exercise 6.18. Although we insisted that the surface of a polyhedron be connected, Euler’s formula applies to more general surfaces. Compute the Euler characteristic of a cube with a cubical cavity. Would you conjecture that this characteristic holds for any topological sphere with a spherical cavity? We obtain χ = 4. And (of course) yes, this holds for any sphere with a spherical cavity. The proof follows from Theorem 6.12. Exercise 6.19. What is the Euler characteristic of a topological disk? χ = 1. Exercise 6.20. Compute the Euler characteristic for the open box in Figure 6.7(b). Enumeration yields V = 8, E = 12, F = 5, resulting in χ = 1. Alternatively, notice that an open box is homeomorphic to a topological disk, so one can simply use Exercise 6.19. Exercise 6.21. Compute the Euler characteristic of a cylindrical band. χ = 0. Exercise 6.22. Conjecture and prove a generalization of Theorem 6.15 which extends to surfaces with boundary. Since each boundary component of S is obtained by losing a face, we get χ(S) = 2 − 2g − b. Exercise 6.24. What is the curvature at each vertex of a dodecahedron? What is the sum of those curvatures over all vertices?

48

CHAPTER 6. POLYHEDRA At each vertex, the curvature is π/5 = 36◦ = 360◦ − 3(108◦ ). The sum is π/5 · 20 = 4π.

Exercise 6.26. Verify the Gauss-Bonnet formula for the three polyhedra shown in Figure 6.5. Answers: (a) 8 vertices with π/2 curvature (b) 12 vertices with π/2 curvature, and 4 with −π/2 (c) 8 vertices with π/2 curvature and 8 vertices with −π/2 curvature. Exercise 6.27. Verify the Gauss-Bonnet formula for the polyhedron shown in Figure 6.10(a). 8 vertices with π/2 curvature (outside box), 2 vertices with 0 curvature (interior middle tube), 16 vertices with −π/2 curvature (all others). Exercise 6.30. Provide a proof of Theorem 6.29, tracking the proof of Theorem 6.25. See Polya’s elegant proof [Pol54], in which he derives both Euler’s formula and the Gauss-Bonnet theorem together. Exercise 6.33. Verify equation (6.8) when the polyhedron is a regular tetrahedron T and C is the curve of intersection of a plane parallel to the base of T , midway between the base and the apex of T . Curve C turns π/3 at each of its three vertices (equilateral triangles), and the curvature of the apex is π. Exercise 6.34. Verify equation (6.8) for the two curves shown in Figure 6.15. Answers: (a) Curve C turns 2π and encloses a net of zero curvature. (b) Curve C encloses − π2 − π2 + π2 + π2 + π2 = π2 . Working out the turns along C is more tedious, but it does work out to turn

3π . 2

Exercise 6.37. Suppose v0 = vn initially. Is Cauchy’s arm lemma still valid? Yes.

49 Exercise 6.38. The condition αi ≤ αi0 ≤ π in Lemma 6.36 may be rewritten π − αi ≥ π − αi0 ≥ 0. The angle π − αi is the turn angle at the joint. Suppose the condition is generalized to π − αi ≥ |π − αi0 | ≥ 0, that is, the new turn angle in absolute value is no larger than the old. Is the conclusion |v00 − vn0 | > |v0 − vn | still valid? Explore enough to make a conjecture. The conclusion is still valid; see [O’R00] and [DO07] for details. Exercise 6.39. Continuing the previous exercise, consider reconfiguring the planar convex chain C into a new chain C 0 in R3 . Define the turn angle τi0 at vi0 to be arccos of the dot product of unit vectors along vi+1 − vi and vi − vi−1 , so that π > τi0 ≥ 0. Suppose the angle condition in Cauchy’s lemma is generalized to π − αi ≥ τi0 . Is the conclusion |v00 − vn0 | > |v0 − vn | still valid? Explore enough to make a conjecture. The conclusion is still valid; see the Chern-Schur theorem in [O’R00] for details. Exercise 6.41. Prove Lemma 6.1: a polyhedron is convex if and only if all of its edges are convex. Use the spherical polygon viewpoint as depicted in Figure 6.20. The dihedral angles are internal angles of the spherical polygon. Having convex dihedral angles makes it a convex polygon, allowing it to fit in a hemisphere. Slicing this sphere by a plane through its center shows the vertex is convex: the polyhedron at this vertex must lie on one side of the plane. Exercise 6.42. Prove Lemma 6.3: for any convex polyhedron, the sum of the face angles incident to each vertex is at most 2π. Use the spherical polygon viewpoint. The face angles incident to a vertex v coincide with the spherical polygon’s arc lengths. Because one can pass a supporting plane through v, that plane cuts the sphere centered on v in half. Thus the arcs fit inside a hemisphere. Those arcs cannot exceed in length the equator, which has length 2π for a unit radius sphere. Exercise 6.43. On a 4 × 4 square piece of paper, mark points x and y as shown in Figure 6.23. Their symmetric placement ensures that they partition the perimeter into

50

CHAPTER 6. POLYHEDRA

two equal-length portions. Now glue the perimeter halves to one another, pinching at x and y, using tape to hold the identified segments to one another. With some coaxing, you should find that the paper wants to crease along the red lines shown, resulting in the unique octahedron which Alexandrov’s theorem guarantees exists. Simply do it. Exercise 6.45. Find a net for each polyhedron in Figure 6.5. We only show a net for Figure 6.5(c). Of course this is by no means unique.

Exercise 6.46. Prove that the polyhedron in Figure 6.27(a) has no net. See [BDD+ 98] for details. Exercise 6.47. Is there any edge unfolding of a cube that results in overlap? No; simply try them all. Exercise 6.48. Construct a tetrahedron and an unfolding of it that self-overlaps. See Figure 22.8 in [DO07]. Exercise 6.49. Prove that a shortest path never self-crosses. Proof by contradiction. If it did, one can find a shortcut near the crossing to decrease distance. Exercise 6.50. Prove that a shortest path never passes through a vertex. See Lemma 24.1.3 of [DO07].

51 Exercise 6.51. Prove that the planar unfolding of a shortest path is a straight line segment. Proof by contradiction, similar to Exercise 6.49. If not a straight line, take a shortcut. Exercise 6.54. Sketch the cut locus C(x) for each of the five Platonic solids, where the source x is a vertex of the polyhedron. This is not altogether easy. Let x be at a vertex. For the tetrahedron, the cut locus is a Y on the face opposite x. For the cube, let y be the corner diagonally opposite x. Then the cut locus consists of six segments: the three edges of the cube incident to y, and the three face diagonals incident to y. For the octahedron, let x be the topmost vertex and y its opposite bottomost vertex. Then the cut locus is the four edges incident to y. We have not worked these out yet for the dodecahedron and the icosahedron.

Exercise 6.56. Argue that C(x) can have a cycle when P has genus greater than zero. In fact, when P has genus great than zero, C(x) must have a cycle. Indeed, for a torus, it has two cycles. Exercise 6.59. Sketch the star unfolding of each of the Platonic solids with the source x at a vertex, breaking shortest-path ties arbitrarily, so that there are n−1 paths from x for a polyhedron of n vertices. (A vertex is definitely not generic, but the star unfolding still avoids overlap.) The dodecahedron and the icosahedron are the most difficult. A tetrahedron opens to a large equilateral triangle. A cube unfolds to an asymmetrical shape because the last, longest path to the opposite corner has many equal-length choices, and once one is chosen, the symmetry is broken. The same is true for the octahedron. The situation becomes pretty tricky for the dodecahedron and the icosahedron. Exercise 6.60. Show that cutting C(x) from a nongeneric point x of P might not lead to a spanning tree on P , and so would not permit flattening to a plane.

52

CHAPTER 6. POLYHEDRA For example, let P be a regular tetrahedron and x a vertex. Then C(x) partitions the base face in a ‘Y’, but the ‘Y’ terminates at the base vertices, and does not reach x. So x remains three-dimensional.

? Exercise 6.61. Find a polyhedron P and a point x so that U (x) is congruent to U (x): ∗

s

the source and the star unfoldings are congruent polygons. This question is posed on p. 372 of [DO07]. JOR remembers constructing this example, but has not yet reproduced that construction. Exercise 6.64. Argue that the boundary of a face of a regular tetrahedron is a simple closed quasigeodesic. It has π to one side of the curve and π/3 on the other (at the corners). Exercise 6.65. Find two more simple closed quasigeodesics for P in Figure 6.36. In this example, each vertex deriving from a truncation is a midpoint of the cube edge on which it lies. Thus the front face is an equilateral triangle and the back faces are rectangles. One is symmetric to that shown in Figure 6.36(a): (v1 , v3 , v4 , v0 , v1 ), where v0 is the left-bottom corner vertex not labled in that figure. Another one traces a vertical bisecting plane through v1 v7 : it bisects the equilateral triangle, bisects the top face, the back rectangle, and the bottom face to return to v1 .

? Exercise 6.66. Find all the simple closed geodesics on the regular tetrahedron. [Exercise due to Jeff Erickson.] A geodesic on the regular tetrahedron is simple and closed if and only if it crosses some edge at an angle that is a rational multiple of π.

? Exercise 6.67. Find all the tetrahedra that admit simple quasigeodesic infinite lines of unbounded length. Any tetrahedron such that all four vertices have curvature π. So this class includes regular tetrahedra, but also an infinite class of other tetrahedra. Because the curvature at a vertex is π, it opens up there to a straight segment. See [IV08] for details.

Chapter 7 Configuration Spaces Exercise 7.1. How many dimensions does the configuration space have for moving a polyhedron in 3D, permitting both translation and rotation? Six dimensions, with three for translation and three for rotation. Exercise 7.2. Create a ladder-moving example in which the cell decompositions of the configuration space labeled with some particular pair (i, j) are not all connected together. Consider two parallel vertical edges i and j. Put an island obstacle between so that ladder can be above, and below, but cannot move between those positions. In the figure below, the cell (i, j) is disconnected.

i

? Exercise 7.3. Suppose in the plane R

j 2

there is a point obstacle at each integer lattice

point. (We can think of the points as the base of poles sticking into R3 .) What is the maximum length L of a ladder that can move from any one configuration to any another in this environment via planar translations and rotations? In other words, if 53

54

CHAPTER 7. CONFIGURATION SPACES

the ladder endpoint at (x1 , y1 ) and tilted at θ1 is a valid position (it passes through no obstacle points), and (x2 , y2 ) and θ2 is another valid position, then there should be a movement between these configurations. Counterintuitively, it seems there is no finite upperbound. Move the ladder so that it is touching at least two poles. Slide it so that one pole is at an endpoint. Hop over that with the available slack by rotating about the other point of contact. (If the two points of contact are on the same side of the ladder, translation suffices, but in general they would be on opposite sides.) This might fail if the length L of the ladder is exactly the distance between two lattice points, and both points of contact are endpoints of the ladder. But if we choose L to be transcendental, then it can never be the (rational or irrational) distance between two lattice points. Moreover, it would never be the case that the ladder is never in contact with three or more lattice points. So suppose L = kπ for some integer k. Continuing with this procedure, it seems we can reorient e.g., vertical to horizontal. Exercise 7.4. Find a planar environment for moving a ladder such that C has Ω(n2 ) connected components. Consider two rows of n poles, surrounded by a box. Exercise 7.5. What is the smallest doorway through which a convex polygon may pass? The doorway is a gap in an infinite line in the plane. The polygon may translate and rotate. It is the width of the set. This is not obvious, and is false in 3D. See [Str82] for details.

? Exercise 7.6. Find a planar environment for moving a ladder such that the connected component that contains s and t requires the ladder to make Ω(n2 ) moves, under any reasonable definition of what constitutes a distinct “move.” Consider two rows of n poles, surrounded by precisely oriented spikes that only permit entrance at certain angles. See [O’R85] or [KO88] for details. Exercise 7.7. How many connected components does the configuration space of Figure 7.11(b) have? How about if we do not allow the two links to pass freely through one another?

56

CHAPTER 7. CONFIGURATION SPACES Lift up each link one at a time into a vertical line which rises above the plane.

? Exercise 7.17. Show that any collection of chains in 3D, each of which consists of just two links, can be separated arbitrarily far from one another (without any link crossing another). This is Theorem 7.1.1 of [DO07], involving dilation and clipping. Exercise 7.19. Prove that if two non-adjacent links of a simple open chain move to intersect each other, then some pair of vertices of the chain must strictly decrease their separation. If a vertex v approaches a link segment s, it must get closer to one or the other (or both) endpoints. Look at the locus of points at distance d from s, and the locus at d0 < d. Now select d0 small enough so that the longest endpoint distance on the d0 -level is smaller than the shortest endpoint distance on the d-level. Exercise 7.20. Show that the configuration space for a 3-link arm in the plane is T 3 . Each link has a circle’s worth of freedom. Thus we get S 1 × S 1 × S 1 , which is the 3-torus. Exercise 7.21. What is the topology of the configuration space of a 2-link arm if the point v0 is not pinned to the plane? R2 × T 2 . Exercise 7.22. What is the topology of the configuration space of a triangle that is nowhere pinned to the plane? R2 × S 1 . Exercise 7.23. Let P = [5, 4, 4, 1] be the lengths of a quadrilateral system. Show that its configuration space consists of two disconnected circles.

57 Fix v0 v1 , v0 = (0, 0) and v1 = (5, 0). The two possible positions for v2 on the x-axis are v2 = (9, 0) and v2 = (1, 0). Neither is achievable, from Theorem 7.8. Thus v2 can never pass through the x-axis. Therefore, the circle of solutions with v2 above, and v2 below the x-axis, are disconnected. Exercise 7.24. Argue that the configuration space for a parallelogram with unequal side lengths is a circle. Fix the first link. The second link (ignoring others) moves around v1 , with endpoint v2 tracing a circle. The remaining links can follow along because they remain parallel to first two. Exercise 7.25. Argue that the configuration space for a rhombus, that is, an equilateral quadrilateral P = [1, 1, 1, 1], consists of three circles, each pair of which intersect in a single point! The difference with the preceding exercise is that now the linkage can be moved so that v1 = v3 . Once these two vertices are coincident, the middle two links can move in a circle centered on v1 = v3 . The same holds for v0 = v2 . Note that this configuration space is not a manifold! Exercise 7.26. Find lengths for a pentagonal system whose configuration space is disconnected. One example is (1, 1, 10, 10, 10), something which is almost an equilateral triangle.

? Exercise 7.27. Prove that the configuration space of the unit pentagon has genus 4 by constructing a combinatorial “cell decomposition” of the space and applying Euler’s formula. [Exercise and solution due to Jeff Erickson.] Note that at most two vertices of the unit pentagon can be flat (with vertex angles of either zero or π). Call two configurations “equivalent” if they have the same subset of flat vertices. The equivalence classes partition the configuration space C into cells of various dimensions; each vertex configuration, edge configuration, or face configuration has two, one, or zero flat vertices, respectively. The

58

CHAPTER 7. CONFIGURATION SPACES resulting cell decomposition has exactly 40 vertices (each with degree 4), 80 edges, and 34 faces (10 triangles, 14 pentagons, and 10 hexagons). Thus the space has Euler characteristic 40 − 80 + 34 = −6. It is not hard to see that C is an orientable 2-manifold, so its genus must be 4.

? Exercise 7.28. Call a pentagon degenerate if it can be flattened to lie in a line. Select a particular degenerate pentagon, and argue that its configuration space has a singularity, a point at which it fails to be a manifold. See Proposition 2 in [SV05].

? Exercise 7.29. Find a condition on the lengths of the edges of a polygon of n vertices that implies that the configuration space is disconnected. Start by generalizing Exercises 7.23 and 7.26 for a condition for quadrilaterals and pentagons. The configuration space is connected if and only if the second plus third largest lengths are less than or equal to the half of the total length. See [LW91] for further details. Exercise 7.31. Label the four triangular faces of C3 (I) using the tube notation.

Exercise 7.32. Prove that C3 (I) is a tetrahedron. Three labeled particles on an interval I results in a cube (I × I × I) as the configuration space. This cube is partitioned into six simplices (see Figure 1.6(b)), where each simplex corresponds to a different ordering of the labelings of the three particles. Each simplex is a copy of C3 (I). Exercise 7.33. Label the five vertices of the 4-simplex C4 (I).

Exercise 7.34. For arbitrary n, how many edges does an n-simplex have? How can we interpret these edges in terms of particle collisions?

59 It has

n+1 2



edges. An n-simplex corresponds to an interval with n + 2

particles, with the two at the ends which are fixed ones. This leaves n + 1 “gaps” between the particles. Out of these gaps, choose two of them; this partitions the interval into three pieces. Draw tubes encircling these three partitions of particles (if such partitions contain more than one particle). Exercise 7.36. Label the fourteen 3D faces of the 4D associahedron using the tubing notation.

Exercise 7.37. Prove that triangulations of a polygon with n vertices are in one-to-one correspondence with nested tubings of n − 1 particles on the interval. This implies that the Catalan number counts nested tubings as well. Figure 7.29 provides the bijection. Exercise 6.19 of [Sta01] provides 66 other equivalent correspondences.

Appendix: Computational Complexity Exercise. For what value of n will 0.004 n2 exceed 30.2 n log2 n? This occurs when n = 128, 100, obtained by using the Mathematica command NSolve[].

61

Bibliography [ABE98]

Nina Amenta, Marshall Bern, and David Eppstein. The crust and the βskeleton: Combinatorial curve reconstruction. Graphical Models and Image Processing, 60:125–135, 1998.

[AKM+ 87] A. Aggarwal, M. M. Klawe, S. Moran, P. W. Shor, and R. Wilber. Geometric applications of a matrix-searching algorithm. Algorithmica, 2:195–208, 1987. [ASS93]

Boris Aronov, R. Seidel, and D. Souvaine. On compatible triangulations of simple polygons. Comput. Geom. Theory Appl., 3(1):27–35, 1993.

[BDD+ 98] Therese Biedl, Erik D. Demaine, Martin L. Demaine, Anna Lubiw, Joseph O’Rourke, Mark Overmars, Steve Robbins, and Sue Whitesides. Unfolding some classes of orthogonal polyhedra. In Proc. 10th Canad. Conf. Comput. Geom., pages 70–71, 1998. Full version in Elec. Proc.: http://cgm.cs. mcgill.ca/cccg98/proceedings/cccg98-biedl-unfolding.ps.gz%. [BRS01]

P. Braß, G. Rote, and K.J. Swanepoel. Triangles of extremal area or perimeter in a finite planar point set. Discrete and Computational Geometry, 26(1):51–58, 2001.

[CY86]

J. S. Chang and C. K. Yap. A polynomial solution for the potato-peeling problem. Discrete Comput. Geom., 1:155–182, 1986.

[Dey06]

Tamal K. Dey. Curve and Surface Reconstruction: Algorithms with Mathematical Analysis. Cambridge University Press, 2006.

[DO07]

Erik D. Demaine and Joseph O’Rourke. Geometric Folding Algorithms: Linkages, Origami, Polyhedra. Cambridge University Press, July 2007. http://www.gfalop.org. 63

64 [Ede87]

BIBLIOGRAPHY Herbert Edelsbrunner. Algorithms in Combinatorial Geometry, volume 10 of EATCS Monogr. Theoret. Comput. Sci. Springer-Verlag, Heidelberg, West Germany, 1987.

[Ede01]

Herbert Edelsbrunner. Geometry and Topology for Mesh Generation. Cambridge Univ. Press, 2001.

[Fre97]

Greg N. Frederickson. Dissections: Plane and Fancy. Cambridge University Press, 1997.

[FS95]

Rida T. Faroukia and Thomas W. Sederberg. Analysis of the offset to a parabola. Computer Aided Geometric Design, 12(6):639–645, 1995.

[GMTT08] F. Gomez-Martin, P. Taslakian, and G.T. Toussaint. Convergence of the shadow sequence of inscribed polygons. In Proc. 18th Fall Workshop Comput. Geom. (FWCG 2008), pages 10–11, 2008. [HNU99]

Ferran Hurtado, M. Noy, and J. Urrutia. Flipping edges in triangulations. Discrete Comput. Geom., 22(3):333–346, 1999.

[HOR+ 05] Ruth Haas, David Orden, G¨ unter Rote, Francisco Santos, Brigitte Servatius, Herman Servatius, Diane Souvaine, Ileana Streinu, and Walter Whiteley. Planar minimally rigid graphs and pseudo-triangulations. Comput. Geom. Theory Appl., 31(1–2):31–61, May 2005. [HP07]

S. Har-Peled. A Comment on Pseudo-Triangulation in Three Dimensions. CiteSeer, 2007.

[HZ01]

L.R. Hitt and X.M. Zhang. Dynamic geometry of polygons. Elemente der Mathematik, 56(1):21–37, 2001.

[IV08]

Jin-ichi Itoh and Costin Vˆılcu. Geodesic characterizations of isosceles tetrahedra. Preprint, 2008.

[KO88]

Yan Ke and Joseph O’Rourke. Lower bounds on moving a ladder in two and three dimensions. Discrete Comput. Geom., 3:197–217, 1988.

[LFS10]

J. A. De Loera, J. Rambau F., and Santos. Triangulations: Applications, Structures and Algorithms. Algorithms and Computation in Mathematics. Springer Verlag, 2010.

BIBLIOGRAPHY [LW91]

65

William J. Lenhart and Sue Whitesides. Turning a polygon inside-out. In Proc. 3rd Canad. Conf. Comput. Geom., pages 66–69, August 1991.

[Mel87]

A. Melkman. On-line construction of the convex hull of a simple polyline. Inform. Process. Lett., 25:11–12, 1987.

[Mic09]

T. S. Michael. How to Guard an Art Gallery and other Discrete Adventures. Johns Hopkins Univ. Press, 2009.

[OBS92]

Atsuyuki Okabe, Barry Boots, and Kokichi Sugihara. Spatial Tessellations: Concepts and Applications of Voronoi Diagrams. John Wiley & Sons, Chichester, UK, 1992.

[O’R85]

Joseph O’Rourke. A lower bound on moving a ladder. Report JHU/EECS85/20, Dept. Comput. Sci., Johns Hopkins Univ., Baltimore, MD, 1985.

[O’R87]

Joseph O’Rourke. Art Gallery Theorems and Algorithms. The International Series of Monographs on Computer Science. Oxford University Press, New York, NY, 1987.

[O’R98]

Joseph O’Rourke. Computational Geometry in C. Cambridge University Press, 2nd edition, 1998.

[O’R00]

Joseph O’Rourke. On the development of the intersection of a plane with a polytope. Technical Report 068, Dept. Comput. Sci., Smith College, Northampton, MA, June 2000. arXiv:cs.CG/0006035v3.

[Pol54]

G. Polya. An elementary analogue to the Gauss-Bonnet theorem. American Mathematical Monthly, pages 601–603, 1954.

[PS90]

F. P. Preparata and M. I. Shamos. Computational Geometry: An Introduction. Springer-Verlag, 3rd edition, October 1990.

[Ram96]

G. D. Ramkumar. An algorithm to compute the Minkowski sum outerface of two simple polygons. In Proc. 12th Annu. ACM Sympos. Comput. Geom., pages 234–241, 1996.

G¨ unter Rote, F. Santos, and I. Streinu. Pseudotriangulations: A survey. In Surveys on Discrete and Computational Geometry: Twenty Years Later, volume 453, pages 343–410, 2008.

66 [SH76]

BIBLIOGRAPHY M. I. Shamos and D. Hoey. Geometric intersection problems. In Proc. 17th Annu. IEEE Sympos. Found. Comput. Sci., pages 208–215, 1976.

[Sta01]

Richard P. Stanley. Enumerative combinatorics. Cambridge Univ Press, 2001.

[Str82]

G. Strang. The width of a chair. Amer. Math. Monthly, 89:529–535, 1982.

[STT88]

D. D. Sleator, R. E. Tarjan, and W. P. Thurston. Rotation distance, triangulations, and hyperbolic geometry. J. Amer. Math. Soc., 1:647–682, 1988.

[SV05]

Don Shimamoto and Catherine Vanderwaart. Spaces of polygons in the plane and Morse theory. Amer. Math. Monthy, 112(4):289–310, 2005.

[Tou86]

Godfried T. Toussaint. New results in computational geometry relevant to pattern recognition in practice. In E. S. Gelsema and L. N. Kanal, editors, Pattern Recognition in Practice II, pages 135–146. North-Holland, Amsterdam, Netherlands, 1986.

[Web94]

Roger Webster. Convexity. Oxford University Press, 1994.

[Wei06]

Ron Wein. Exact and efficient construction of planar minkowski sums using the convolution method. In Proceedings of the 14th conference on Annual European Symposium - Volume 14, pages 829–840, London, UK, 2006. Springer-Verlag.