Pseudotriangle
From Wikipedia, the free encyclopedia
In Euclidean plane geometry, a pseudotriangle is the simply connected subset of the plane that lies between any three mutually tangent convex sets. A pseudotriangulation is a partition of a region of the plane into pseudotriangles, and a pointed pseudotriangulation is a pseudotriangulation of a convex polygon in which at each vertex the incident edges span an angle of less than π.
Although the words "pseudotriangle" and "pseudotriangulation" have been used with various meanings in mathematics for much longer,[1] the terms as used here were introduced in 1993 by Pocchiola and Vegter in connection with the computation of visibility relations and bitangents among convex obstacles in the plane. Pointed pseudotriangulations were first considered by Streinu (2000, 2005) as part of her solution to the carpenter's ruler problem, a proof that any simple polygonal path in the plane can be straightened out by a sequence of continuous motions. Pseudotriangulations have also been used for collision detection among moving objects[2] and for dynamic graph drawing and shape morphing.[3] Pointed pseudotriangulations arise in rigidity theory as examples of minimally rigid planar graphs,[4] and in methods for placing guards in connection with the art gallery theorem.[5] The shelling antimatroid of a planar point set gives rise to pointed pseudotriangulations,[6] although not all pointed pseudotriangulations can arise in this way.
For a detailed survey of much of the material discussed here, see Rote et al (2006).
Contents |
[edit] Pseudotriangles
Pocchiola and Vegter (1996a,b,c) originally defined a pseudotriangle to be a simply-connected region of the plane bounded by three smooth convex curves that are tangent at their endpoints. However, subsequent work has settled on a broader definition that applies more generally to polygons as well as to regions bounded by smooth curves, and that allows nonzero angles at the three vertices. In this broader definition, a pseudotriangle is a simply-connected region of the plane, having three convex vertices. The three boundary curves connecting these three vertices must be convex, in the sense that any line segment connecting two points on the same boundary curve must lie entirely outside or on the boundary of the pseudotriangle. Thus, the pseudotriangle is the region between the convex hulls of these three curves, and more generally any three mutually tangent convex sets form a pseudotriangle that lies between them.
For algorithmic applications it is of particular interest to characterize pseudotriangles that are polygons. In a polygon, a vertex is convex if it spans an interior angle of less than π, and concave otherwise (in particular, we consider an angle of exactly π to be concave). Any polygon must have at least three convex angles, because the total exterior angle of a polygon is 2π, the convex angles contribute less than π each to this total, and the concave angles contribute zero or negative amounts. A polygonal pseudotriangle is a polygon that has exactly three convex vertices. In particular, any triangle, and any nonconvex quadrilateral, is a pseudotriangle.
The convex hull of any pseudotriangle is a triangle. Each of the three convex vertices is connected by a boundary curve that either lies within the triangle or coincides with one of its edges.
[edit] Pseudotriangulations
A pseudotriangulation is a partition of a region of the plane into pseudotriangles. Any triangulation of a region of the plane is a pseudotriangulation. While any two triangulations of the same region must have the same numbers of edges and triangles, the same is not true of pseudotriangulations; for instance, if the region is itself an n-vertex polygonal pseudotriangle, then a pseudotriangulation of it may have as few as one pseudotriangle and n edges, or as many as n - 2 pseudotriangles and 2n - 3 edges.
A minimal pseudotriangulation is a pseudotriangulation T such that no subgraph of T is a pseudotriangulation covering the same convex region of the plane. A minimal pseudotriangulation with n vertices must have at least 2n - 3 edges; if it has exactly 2n - 3 edges, it must be a pointed pseudotriangulation, but there exist minimal pseudotriangulations with 3n - O(1) edges.[7]
Agarwal et al. (2002) describe data structures for maintaining pseudotriangulations of moving points or moving polygons. They show that using pseudotriangulations in place of triangulations allows their algorithms to maintain these structures with relatively few combinatorial changes as the inputs move, and they use these dynamic pseudotriangulations to perform collision detection among the moving objects.
Gudmundsson et al. (2004) consider the problem of finding a pseudotriangulation of a point set or polygon with minimum total edge length, and provide approximation algorithms for this problem.
[edit] Pointed pseudotriangulations
A pointed pseudotriangulation can be defined as a finite non-crossing collection of line segments, such that at each vertex the incident line segments span an angle of at most π, and such that no line segments can be added between any two existing vertices while preserving this property. It is not hard to see that a pointed pseudotriangulation is a pseudotriangulation of its convex hull: all convex hull edges may be added while preserving the angle-spanning property, and all interior faces must be pseudotriangles else a bitangent line segment could be added between two vertices of the face.
A pointed pseudotriangulation with v vertices must have exactly 2v - 3 edges.[8] This follows by a simple argument involving the Euler characteristic: as each face but the outer one is a pseudotriangle, with three convex angles, the pseudotriangulation must have 3f - 3 convex angles between adjacent edges. Each edge is the clockwise edge for two angles, so there are a total of 2e angles, of which all but v are convex. Thus, 3f - 3 = 2e - v. Combining this with the Euler equation f - e + v = 2 and solving the resulting simultaneous linear equations gives e = 2v - 3.
Similarly, since any k-vertex subgraph of a pointed pseudotriangulation can be completed to form a pointed pseudotriangulation of its vertices, the subgraph must have at most 2k - 3 edges. Thus, pointed pseudotriangulations satisfy the conditions defining Laman graphs: they have exactly 2v - 3 edges, and their k-vertex subgraphs have at most 2k - 3 edges. Laman graphs, and therefore also pointed pseudotriangulations, are minimally rigid graphs in two dimensions. Every planar Laman graph can be drawn as a pointed pseudotriangulation, although not every planar drawing of a planar Laman graph is a pseudotriangulation.[9]
Another way of finding a pointed pseudotriangulation is to shell a point set; that is, to remove convex hull vertices one by one until all points have been removed. The family of sequences of removals that can be formed in this way is the shelling antimatroid of the point set, and the set of edges of convex hulls of the sequence of point sets formed by this removal process forms a pseudotriangulation.[10] However, not all pointed pseudotriangulations can be formed in this way.
Aichholzer et al. (2004) show that a set of n points, h of which belong to the convex hull of the set, must have at least Ch-2×3n-h different pointed pseudotriangulations, where Ci denotes the ith Catalan number. As a consequence, they show that the point sets with the fewest pointed pseudotriangulations are the vertex sets of convex polygons. Aichholzer et al. (2006) investigate point sets with large numbers of pointed pseudotriangulations. Computational geometry researchers have also provided algorithms for listing all pointed pseudotriangulations of a point set in a small amount of time per pseudotriangulation.[11]
[edit] Notes
- ^ For "pseudo-triangle" see, e.g., Whitehead, J. H. C. (1961). "Manifolds with transverse fields in Euclidean space". Annals of Mathematics 73 (1): 154–212. doi: . MR0124917. On page 196 this paper refers to a "pseudo-triangle condition" in functional approximation. For "pseudo-triangulation" see, e.g., Belaga, È. G. (1976). "Heawood vectors of pseudotriangulations". Dokl. Akad. Nauk SSSR 231 (1): 14–17. MR0447029.
- ^ Agarwal et al. (2002).
- ^ Streinu (2006).
- ^ Haas et al. (2005)
- ^ Speckmann and Tóth (2005).
- ^ Har-Peled (2002).
- ^ Rote, Wang, Wang, and Xu (2003), Theorem 4 and Figure 4.
- ^ First shown by Streinu (2000), but the argument we give here is from Haas et al. (2005), Lemma 5.
- ^ Haas et al. (2005).
- ^ Har-Peled (2002).
- ^ Bereg (2005); Brönnimann et al. (2006).
[edit] References
- Agarwal, Pankaj K.; Basch, Julien; Guibas, Leonidas J.; Hershberger, John; Zhang, Li (2002). "Deformable free-space tilings for kinetic collision detection". International Journal of Robotics Research 21 (3): 179–197. doi: .
- Aichholzer, Oswin; Aurenhammer, Franz; Krasser, Hannes; Speckmann, Bettina (2004). "Convexity minimizes pseudo-triangulations". Computational Geometry Theory and Applications 28 (1): 3–10. doi: . MR2070708. Preliminary version in Canad. Conf. Comput. Geom., 2003.
- Aichholzer, Oswin; Orden, David; Santos, Francisco; Speckmann, Bettina (2006). "On the number of pseudo-triangulations of certain point sets". arXiv:math.CO/0601747.
- Bereg, Sergey (2005). "Enumerating pseudo-triangulations in the plane". Computational Geometry Theory and Applications 30 (3): 207–222. doi: . MR2123970.
- Brönnimann, Hervé; Kettner, Lutz; Pocchiola, Michel; Snoeyink, Jack (2006). "Counting and enumerating pointed pseudotriangulations with the greedy flip algorithm". SIAM J. Comput. 36 (3): 721–739. doi: . MR2263009.
- Gudmundsson, Joachim; Levcopoulos, Christos; Kamal, Lodaya; Meena, Mahajan (2004). "Minimum weight pseudo-triangulations". FSTTCS 2004: Foundations of Software Technology and Theoretical Computer Science: 299–310, Springer-Verlag, Lecture Notes in Computer Science 3328. doi:10.1007/b104325.
- Haas, Ruth; Orden, David; Rote, Günter; Santos, Francisco; Servatius, Brigitte; Servatius, Herman; Souvaine, Diane; Streinu, Ileana; Whiteley, Walter (2005). "Planar minimally rigid graphs and pseudo-triangulations". Computational Geometry Theory and Applications 31 (1–2): 31–61. doi: . MR2131802.
- Har-Peled, Sariel (2002). "A comment on pseudo-triangulation in three dimensions".
- Pocchiola, Michel; Vegter, Gert (1996a). "The visibility complex". International Journal of Computational Geometry and Applications 6 (3): 297–308. doi: . Preliminary version in Ninth ACM Symp. Computational Geometry (1993) 328–337..
- Pocchiola, Michel; Vegter, Gert (1996b). "Topologically sweeping visibility complexes via pseudotriangulations". Discrete and Computational Geometry 16: 419–453. MR1414964.
- Pocchiola, Michel; Vegter, Gert (1996c). "Pseudo-triangulations: theory and applications". Proceedings of the 12th Annual ACM Symposium on Computational Geometry: 291–300. doi:10.1145/237218.237398.
- Rote, Günter; Santos, Francisco; Streinu, Ileana (2003). "Expansive motions and the polytope of pointed pseudo-triangulations". Dicrete and Computational Geometry — The Goodman–Pollack Festschrift: 699–736, Springer-Verlag. arXiv:math.CO/0206027.
- Rote, Günter; Santos, Francisco; Streinu, Ileana (2006). "Pseudo-triangulations — a survey". arXiv:math.CO/0612672.
- Rote, Günter; Wang, Cao An; Wang, Lusheng; Xu, Yinfeng (2003). "On constrained minimum pseudotriangulations". Computing and Combinatorics: 445–454, Springer-Verlag, Lecture Notes in Computer Science 2697.
- Speckmann, Bettina; Tóth, Csaba D. (2005). "Allocating vertex π-Guards in simple polygons via pseudo-triangulations". Discrete and Computational Geometry 33 (2): 345–364. doi: . MR2121300.
- Streinu, Ileana (2000). "A combinatorial approach to planar non-colliding robot arm motion planning". Proceedings of the 41st Annual Symposium on Foundations of Computer Science: 443–453, IEEE Computer Society. doi:10.1109/SFCS.2000.892132.
- Streinu, Ileana (2005). "Pseudo-triangulations, rigidity and motion planning". Discrete and Computational Geometry 34 (4): 587–635. doi: . MR2173930.
- Streinu, Ileana (2006). "Parallel-redrawing mechanisms, pseudo-triangulations and kinetic planar graphs". Proc. Int. Symp. Graph Drawing (GD 2005): 421–433, Springer-Verlag, Lecture Notes in Computer Science 3843.