On Computing General Position Views of Data in Three Dimensions

Abstract Several degeneracies in spatial data can be removed (without perturbing the input) by a global rigid transformation of the input. Such degeneracies are called extrinsic degeneracies. The removal of extrinsic degeneracies is referred to as “computing a general-position view” in the graphics and visualization community, which may be described as a view that minimizes loss of information due to degeneracies. In this paper, we address a general approach for removing extrinsic degeneracies by suitably transforming the input. Such an approach has received little attention in the computational geometry literature on computing in the presence of degeneracies. Existing methods for removing degeneracies in computational geometry can be classified as either approximation or perturbation methods. These methods give the implementer two rather unsatisfactory choices: find an approximate solution to the original problem given, or find an exact solution to an approximation of the original problem. In contrast to these approaches, if the problem at hand requires the removal of extrinsic degeneracies only, our approach allows an exact solution to the original problem even when the input is in fact degenerate. Once the solution is obtained on the transformed nondegenerate input, it can be transformed back trivially to yield the solution to the original problem. We consider several nondegeneracy assumptions that are typically made in the literature, propose algorithms for performing the pre- and postprocessing steps that remove these degeneracies, analyze their complexity, and, for some of these problems, give lower bounds on their worst-case complexity. We also give algorithms for computing a most robust general-position view, i.e., a view that allows the most “jitter” without reintroducing degeneracies. The assumptions considered here include: (1) no two points in the plane have the same x-coordinate, (2) no two points in space lie on a vertical line, (3) no two points in space have the same coordinates, (4) no three points in space lie on a vertical plane, and (5) no two line segments lie on a vertical plane. Incorporating our algorithms with those in the literature that make these nondegeneracy assumptions, allows those algorithms to work even when the degeneracies are present, albeit at the cost of increased complexity. We propose low-degree polynomial-time solutions for the decision, computation, and optimization versions of all these problems. For the optimization version of problem (5) we give an O(n4) time algorithm, reducing the previous best running time of O(n6 log n).

[1]  Satoru Kawai,et al.  A simple method for computing general position in displaying three-dimensional objects , 1988, Comput. Vis. Graph. Image Process..

[2]  Joseph S. B. Mitchell,et al.  Generating Random x-Monotone Polygons with Given Vertices , 1994, Canadian Conference on Computational Geometry.

[3]  Prosenjit Bose,et al.  Growing a Tree from Its Branches , 1995, J. Algorithms.

[4]  Andrew M. Day The implementation of an algorithm to find the convex hull of a set of three-dimensional points , 1990, TOGS.

[5]  Kevin Q. Brown Geometric transforms for fast geometric algorithms , 1979 .

[6]  Raimund Seidel,et al.  Constructing Arrangements of Lines and Hyperplanes with Applications , 1986, SIAM J. Comput..

[7]  Micha Sharir,et al.  Sharp upper and lower bounds on the length of general Davenport-Schinzel sequences , 2015, J. Comb. Theory, Ser. A.

[8]  Leonidas J. Guibas,et al.  A linear-time algorithm for computing the voronoi diagram of a convex polygon , 1989, Discret. Comput. Geom..

[9]  Prosenjit Bose,et al.  Drawing Nice Projections of Objects in Space , 1999, J. Vis. Commun. Image Represent..

[10]  John F. Canny,et al.  A General Approach to Removing Degeneracies , 1995, SIAM J. Comput..

[11]  Chee-Keng Yap Geometric Consistency Theorem for a Symbolic Perturbation Scheme , 1990, J. Comput. Syst. Sci..

[12]  Nimrod Megiddo,et al.  Linear-time algorithms for linear programming in R3 and related problems , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[13]  John F. Canny,et al.  An efficient approach to removing geometric degeneracies , 1992, SCG '92.

[14]  Richard J. Lipton,et al.  On the Complexity of Computations under Varying Sets of Primitives , 1975, J. Comput. Syst. Sci..

[15]  Herbert Edelsbrunner,et al.  Algorithms in Combinatorial Geometry , 1987, EATCS Monographs in Theoretical Computer Science.

[16]  Raimund Seidel The Nature and Meaning of Perturbations in Geometric Computing , 1998, Discret. Comput. Geom..

[17]  Kurt Mehlhorn,et al.  On degeneracy in geometric computations , 1994, SODA '94.

[18]  Charles S. Peskin,et al.  On the construction of the Voronoi mesh on a sphere , 1985 .

[19]  M. Iri,et al.  Construction of the Voronoi diagram for 'one million' generators in single-precision arithmetic , 1992, Proc. IEEE.

[20]  N. Megiddo Linear-time algorithms for linear programming in R3 and related problems , 1982, FOCS 1982.

[21]  George B. Dantzig,et al.  Linear programming and extensions , 1965 .

[22]  Azriel Rosenfeld,et al.  Polygons in Three Dimensions , 1994, J. Vis. Commun. Image Represent..