scispace - formally typeset
Search or ask a question

Showing papers in "Computational Geometry: Theory and Applications in 1998"


Journal ArticleDOI
TL;DR: It is shown how this reduction to SATISFIABILITY to the problem of recognizing unit disk graphs can be extended to 3 dimensions, thereby showing that unit sphere graph recognition, or determining if a graph has sphericity 3 or less, is also NP-hard.
Abstract: Unit disk graphs are the intersection graphs of unit diameter closed disks in the plane. This paper reduces SATISFIABILITY to the problem of recognizing unit disk graphs. Equivalently, it shows that determining if a graph has sphericity 2 or less, even if the graph is planar or is known to have sphericity at most 3, is NP-hard. We show how this reduction can be extended to 3 dimensions, thereby showing that unit sphere graph recognition, or determining if a graph has sphericity 3 or less, is also NP-hard. We conjecture that K-sphericity is NP-hard for all fixed K greater than 1.

352 citations


Journal ArticleDOI
TL;DR: This work investigates the problem of computing a large non-intersecting subset in a set of n rectangles in the plane and obtains a (1 + l/k)-approximati on in time O(n logn + n 2k-1) time, for any integer k/> 1.
Abstract: Motivated by the problem of labeling maps, we investigate the problem of computing a large non-intersecting subset in a set of n rectangles in the plane. Our results are as follows. In O(n log n) time, we can find an O(log n)factor approximation of the maximum subset in a set of n arbitrary axis-parallel rectangles in the plane. If all rectangles have unit height, we can find a 2-approximation in O(n logn) time. Extending this result, we obtain a (1 + l/k)-approximati on in time O(n logn + n 2k-1) time, for any integer k/> 1. © 1998 Elsevier Science B.V. All rights reserved.

241 citations


Journal ArticleDOI
TL;DR: In this paper, a linear time and space algorithm is presented to draw any connected graph orthogonally on a grid of size n×n with at most 2n+2 bends.
Abstract: An orthogonal drawing of a graph is an embedding in the plane such that all edges are drawn as sequences of horizontal and vertical segments. We present a linear time and space algorithm to draw any connected graph orthogonally on a grid of size n×n with at most 2n+2 bends. Each edge is bent at most twice.

163 citations


Journal ArticleDOI
Enrico Puppo1
TL;DR: An efficient algorithm is proposed that can extract a triangulation from the Multi-Triangulation (MT), whose level of detail is variable over the domain according to a given threshold function.
Abstract: A comprehensive study of multiresolution decompositions of planar domains into triangles is given. A general model is introduced, called a Multi-Triangulation (MT), which is based on a collection of fragments of triangulations arranged into a directed acyclic graph. Different decompositions of a domain can be obtained by combining different fragments of the model. Theoretical results on the expressive power of the MT are given. An efficient algorithm is proposed that can extract a triangulation from the MT, whose level of detail is variable over the domain according to a given threshold function. The algorithm works in linear time, and the extracted representation has minimum size among all possible triangulations that can be built from triangles in the MT, and that satisfy the given level of detail. Major applications of these results are in real-time rendering of complex surfaces, such as topographic surfaces in flight simulation.

82 citations


Journal ArticleDOI
TL;DR: A necessary and sufficient condition is given for simple polygons which guarantees smaller union complexity, based on a new method to partition a simple polygon P with n vertices into O(n) convex quadrilaterals, without introducing angles smaller than π/12 radians or narrow corridors.
Abstract: The complexity of the contour of the union of simple polygons can be O(n2) in general. In this paper, a necessary and sufficient condition is given for simple polygons which guarantees smaller union complexity. A δ-corridor in a polygon is a passage between two edges with width/length ratio δ. If a set of polygons with n vertices in total has no δ-corridors, then the union size is O((n log log n)/δ), which is close to optimal in the worst case. The result has many applications to basic problems in computational geometry, such as efficient hidden surface removal, motion planning, injection molding, etc. The result is based on a new method to partition a simple polygon P with n vertices into O(n) convex quadrilaterals, without introducing angles smaller than π/12 radians or narrow corridors. Furthermore, a convex quadrilateral can be covered (but not partitioned) with O(1/δ) triangles without introducing small angles. The maximum overlap of the triangles at any point is two. The algorithms take O(n log2n) and O(n log2n+n/δ time for partitioning and covering, respectively.

77 citations


Journal ArticleDOI
TL;DR: This paper presents linear time algorithms that produce orthogonal drawings of graphs with n vertices that match the upper bounds known for planar graphs of maximum degree 3.
Abstract: An orthogonal drawing of a graph is a drawing such that vertices are placed on grid points and edges are drawn as sequences of vertical and horizontal segments. In this paper we present linear time algorithms that produce orthogonal drawings of graphs with n vertices. If the maximum degree is four, then the drawing produced by our first algorithm needs area at most (roughly) 0.76n2, and introduces at most 2n + 2 bends. Also, each edge of such a drawing has at most two bends. Our algorithm is based on forming and placing pairs of vertices of the graph. If the maximum degree is three, then the drawing produced by our second algorithm needs at most (roughly) ( 1 4 )n 2 area and, if the graph is biconnected, at most ⌊ n 2 ⌋ + 3 bends. These upper bounds match the upper bounds known for planar graphs of maximum degree 3. This algorithm produces optimal drawings (within a constant of 2) with respect to the number of bends, since there is a lower bound of n 2 + 1 in the number of bends for orthogonal drawings of maximum degree 3 graphs.

76 citations


Journal ArticleDOI
TL;DR: A criterion to detect faces of the normalized mesh inside the Delaunay graph is proposed and this criterion is proved to provide the exact solution in 2D for points sampling a r-regular shapes with a sampling path e sin ( π 8 )r .
Abstract: In this paper, the problem of reconstructing a surface, given a set of scattered data points is addressed. First, a precise formulation of the reconstruction problem is proposed. The solution is mathematically defined as a particular mesh of the surface called the normalized mesh. This solution has the property to be included inside the Delaunay graph. A criterion to detect faces of the normalized mesh inside the Delaunay graph is proposed. This criterion is proved to provide the exact solution in 2D for points sampling a r-regular shapes with a sampling path e sin ( π 8 )r . In 3D, this result cannot be extended and the criterion cannot retrieve every face. A heuristic is proposed in order to complete the surface.

72 citations


Journal ArticleDOI
TL;DR: A novel perturbation scheme to overcome degeneracies and precision problems in computing spherical arrangements while using floating point arithmetic, and it performs well in practice.
Abstract: We describe a software package for computing and manipulating the subdivision of a sphere by a collection of (not necessarily great) circles and for computing the boundary surface of the union of spheres. We present problems that arise in the implementation of the software and the solutions that we have found for them. At the core of the paper is a novel perturbation scheme to overcome degeneracies and precision problems in computing spherical arrangements while using floating point arithmetic. The scheme is relatively simple, it balances between the efficiency of computation and the magnitude of the perturbation, and it performs well in practice. In one O( n ) time pass through the data, it perturbs the inputs necessary to insure no potential degeneracies and then passes the perturbed inputs on to the geometric algorithm. We report and discuss experimental results. Our package is a major component in a larger package aimed to support geometric queries on molecular models; it is currently employed by chemists working in “rational drug design”. The spherical subdivisions are used to construct a geometric model of a molecule where each sphere represents an atom.

71 citations


Journal ArticleDOI
TL;DR: This paper shows that the bound on the size of the resulting grid needs to be at least @?2(n - 1)[email protected]?
Abstract: Given a plane graph G, we wish to draw it in the plane in such a way that the vertices of G are represented as grid points, and the edges are represented as straight-line segments between their endpoints. An additional objective is to minimize the size of the resulting grid. It is known that each plane graph can be drawn in such a way in an (n - 2) x (n - 2) grid (for n >= 3), and that no grid smaller than (2n3 - 1) x (2n3 - 1) can be used for this purpose, if n is a multiple of 3. In fact, for all n >= 3, each dimension of the resulting grid needs to be at least @?2(n - 1)[email protected]?, even if the other one is allowed to be unbounded. In this paper we show that this bound is tight by presenting a grid drawing algorithm that produces drawings of width @?2(n - 1)[email protected]?. The height of the produced drawings is bounded by [email protected]?2(n - 1)[email protected]? - 1. Our algorithm runs in linear time and is easy to implement.

60 citations


Journal ArticleDOI
TL;DR: In this article, it was shown that there exists a point O and suitable subsets Qi ⊆ Pi (i = 1, 2,…, d + 1) such that an every d-dimensional simplex with exactly one vertex in each Qi contains Q in its interior.
Abstract: Let P1, P2,…, Pd+1 be pairwise disjoint n-element point sets in general position in d-space. It is shown that there exist a point O and suitable subsets Qi ⊆ Pi (i = 1, 2,…, d + 1) such that Qi ≥ cdPi, an every d-dimensional simplex with exactly one vertex in each Qi contains Q in its interior. Here cd is a positive constant depending only on d.

59 citations


Journal ArticleDOI
TL;DR: In this article, the authors studied the problem of converting triangulated domains to quadrangulations, under a variety of constraints, including the need to add Steiner points in the interior or exterior of the triangulation.
Abstract: We study the problem of converting triangulated domains to quadrangulations, under a variety of constraints. We obtain a variety of characterizations for when a triangulation (of some structure such as a polygon, set of points, line segments or planar subdivision) admits a quadrangulation without the use of Steiner points, or with a bounded number of Steiner points. We also investigate the effect of demanding that the Steiner points be added in the interior or exterior of a triangulated simple polygon and propose efficient algorithms for accomplishing these tasks. For example, we give a linear-time method that quadrangulates a triangulated simple polygon with the minimum number of outer Steiner points required for that triangulation. We show that this minimum can be at most ⌊ n 3 ⌋ , and that there exist polygons that require this many such Steiner points. We also show that a triangulated simple n-gon may be quadrangulated with at most ⌊ n 4 ⌋ Steiner points inside the polygon and at most one outside. This algorithm also allows us to obtain, in linear time, quadrangulations from general triangulated domains (such as triangulations of polygons with holes, a set of points or line segments) with a bounded number of Steiner points.

Journal ArticleDOI
TL;DR: An extremely simple approximation scheme for computing shortest paths on the surface of a convex polytope in three dimensions and can get a weak approximation result in the general case of k disjoint convexpolyhedra: in O(n) time the algorithm gives a path of length at most 2k times the optimal.
Abstract: We propose an extremely simple approximation scheme for computing shortest paths on the surface of a convex polytope in three dimensions. Given a convex polytope P with n vertices and two points p, q on its surface, let dP(p, q) denote the shortest path distance between p and q on the surface of P. Our algorithm produces a path of length at most 2dP(p, q) in time O(n). Extending this result, we can also compute an approximation of the shortest path tree rooted at an arbitrary point x ∈ P in time O(n log n). In the approximate tree, the distance between a vertex v ∈ P and x is at most cdP(x, v), where c = 2.38(1 + e) for any fixed e > 0. The best algorithms for computing an exact shortest path on a convex polytope take Ω(n2) time in the worst case; in addition, they are too complicated to be suitable in practice. We can also get a weak approximation result in the general case of k disjoint convex polyhedra: in O(n) time our algorithm gives a path of length at most 2k times the optimal.

Journal ArticleDOI
TL;DR: In this paper, an optimal deterministic O(n log n)-time algorithm for slope selection was given, which borrows from the optimal solution given in (Cole et al., 1989) but avoids the complicated machinery of the AKS sorting network and parametric searching.
Abstract: We give an optimal deterministic O(n log n)-time algorithm for slope selection. The algorithm borrows from the optimal solution given in (Cole et al., 1989) but avoids the complicated machinery of the AKS sorting network and parametric searching. This is achieved by redesigning and refining the O(n log2 n)-time algorithm of Chazelle et al. (1993) with the help of additional approximation tools.

Journal ArticleDOI
TL;DR: This paper gives an algorithm for polytopes all of whose vertices are among the vertices of a polytope combinatorially equivalent to the hypercube, and gives an example how simplifications of the algorithm lead to efficient enumeration of combinatorial objects.
Abstract: In this paper, we discuss the computational complexity of the following enumeration problem: given a rational convex polyhedron P defined by a system of linear inequalities, output each vertex of P. It is still an open question whether there exists an algorithm for listing all vertices in running time polynomial in the input size and the output size. Informally speaking, a linear running time in the output size leads to the notion of P-enumerability introduced by Valiant (1979). The concept of strong P-enumerability additionally requires an output independent space complexity of the respective algorithm. We give such an algorithm for polytopes all of whose vertices are among the vertices of a polytope combinatorially equivalent to the hypercube. As a very important special case, this class of polytopes contains all 0 1 -polytopes. Our implementation based on the commercial LP solver CPLEX is superior to general vertex enumeration algorithms. We give an example how simplifications of our algorithm lead to efficient enumeration of combinatorial objects.

Journal ArticleDOI
TL;DR: The sphere model is analyzed and point to properties that make it more easy to manipulate than an arbitrary collection of spheres, and efficient algorithms for computing its union boundary and for hidden surface removal are presented.
Abstract: We devise techniques to manipulate a collection of loosely interpenetrating spheres in three-dimensional space. Our study is motivated by the representation and manipulation of molecular configurations, modeled by a collection of spheres. We analyze the sphere model and point to properties that make it more easy to manipulate than an arbitrary collection of spheres. For this special sphere model we present efficient algorithms for computing its union boundary and for hidden surface removal. The efficiency and practicality of our approach are demonstrated by experiments on actual molecule data.

Journal ArticleDOI
TL;DR: This paper gives a simple linear-time algorithm to find a rectangular grid drawing of G if it exists and gives an upper bound W + H ≤ n2 on the sum of required width W and height H and a bound W H ≥ n216 on the area of a rectangular Grid Drawing of G, where n is the number of vertices.
Abstract: The rectangular grid drawing of a plane graph G is a drawing of G such that each vertex is located on a grid point, each edge is drawn as a horizontal or vertical line segment, and the contour of each face is drawn as a rectangle. In this paper we give a simple linear-time algorithm to find a rectangular grid drawing of G if it exists. We also give an upper bound W + H ≤ n2 on the sum of required width W and height H and a bound W H ≤ n216 on the area of a rectangular grid drawing of G, where n is the number of vertices in G. These bounds are best possible, and hold for any compact rectangular grid drawing.

Journal ArticleDOI
TL;DR: It is shown that any polygonal part can be oriented by a sequence of fences placed along a conveyor belt, thereby settling a conjecture, and the first polynomial-time algorithm to compute the shortest such sequence is presented.
Abstract: A common task in automated manufacturing processes is to orient parts prior to assembly. We consider sensorless orientation of a polygonal part by a sequence of fences. We show that any polygonal part can be oriented by a sequence of fences placed along a conveyor belt, thereby settling a conjecture by Wiegley et al. (1997), and present the first polynomial-time algorithm to compute the shortest such sequence. The algorithm is easy to implement and runs in time O(n3 logn), where n is the number of vertices of the part.

Journal ArticleDOI
TL;DR: The birthday paradox, which is well-known in combinatorics, is used effectively in this algorithm and improves a previous O (n (d−1) 2 log n) time deterministic algorithm considerably.
Abstract: This paper considers the following problem: given two point sets A and B (|A| = |B| = n) in d dimensional Euclidean space, determine whether or not A is congruent to B. This paper presents an O (n (d−1) 2 log n) time randomized algorithm. The birthday paradox, which is well-known in combinatorics, is used effectively in this algorithm. Although this algorithm is Monte-Carlo type (i.e., it may give a wrong result), this improves a previous O(nd−2 log n) time deterministic algorithm considerably. This paper also shows that if d is not bounded, the problem is at least as hard as the graph isomorphism problem in the sense of the polynomiality. Several related results are described too.

Journal ArticleDOI
TL;DR: Experiments show that both overlap minimization and compaction work well in practice and are likely to be useful in industrial applications.
Abstract: An effective and fast algorithm is given for rotational overlap minimization: given an overlapping layout of polygons P1, P2, P3, …, Pk in a container polygon Q, translate and rotate the polygons to diminish their overlap to a local minimum. A (local) overlap minimum has the property that any perturbation of the polygons increases the overlap. Overlap minimization is modified to create a practical algorithm for compaction: starting with a non-overlapping layout in a rectangular container, plan a non-overlapping motion that diminishes the length or area of the container to a local minimum. Experiments show that both overlap minimization and compaction work well in practice and are likely to be useful in industrial applications.

Journal ArticleDOI
TL;DR: In this article, simple optimal checkers for convex polytopes in two and higher dimensions were designed for verifying the correctness of geometric structures and their performance was analyzed in terms of the algorithmic degree.
Abstract: This paper considers the problem of verifying the correctness of geometric structures. In particular, we design simple optimal checkers for convex polytopes in two and higher dimensions, and for various types of planar subdivisions, such as triangulations, Delaunay triangulations, and convex subdivisions. Their performance is analyzed also in terms of the algorithmic degree, which characterizes the arithmetic precision required.

Journal ArticleDOI
TL;DR: A systematic study of the expected complexity of the intersection of geometric objects with the following target objects which may or may not be random: a line segment, a Voronoi diagram, a minimum spanning tree, a Gabriel graph, a relative neighborhood graph, and a Hamiltonian circuit.
Abstract: We present a systematic study of the expected complexity of the intersection of geometric objects. We first study the expected size of the intersection between a random Voronoi diagram and a generic geometric object that consists of a finite collection of line segments in the plane. Using this result, we explore the intersection complexity of a random Voronoi diagram with the following target objects which may or may not be random: a line segment, a Voronoi diagram, a minimum spanning tree, a Gabriel graph, a relative neighborhood graph, a Hamiltonian circuit, a furthest point Voronoi diagram, a convex hull, a k-dimensional tree, and a rectangular grid.

Journal ArticleDOI
TL;DR: It is shown that the problem of deciding whether a 3-dimensional polygon is triangulable is NP -complete, and some necessary conditions and some sufficient conditions are established for a polygon to be triangULable.
Abstract: A three-dimensional polygon is triangulable if it has a non-self-intersecting triangulation which defines a simply-connected 2-manifold. We show that the problem of deciding whether a 3-dimensional polygon is triangulable is NP -complete. We then establish some necessary conditions and some sufficient conditions for a polygon to be triangulable, providing special cases when the decision problem may be answered in polynomial time.

Journal ArticleDOI
TL;DR: A new polygon visibility graph is introduced, the vertex-edge visibility graph G VE, and it is demonstrated that it encodes more geometric information about the polygon than does the vertex visibilitygraph G V .
Abstract: We introduce a new polygon visibility graph, the vertex-edge visibility graph G VE , and demonstrate that it encodes more geometric information about the polygon than does the vertex visibility graph G V .

Journal ArticleDOI
TL;DR: Several variants of these problems of covering a given point set S by an offset version or a polygonal annulus, as well as polygons with holes and sets of polygons, are addressed, and algorithms with low-degree polynomial running times in all cases are obtained.
Abstract: The @d-annulus of a polygon P is the closed region containing all points in the plane at distance at most @d from the boundary of P. An inner (resp., outer) @d-offset polygon is the polygon defined by the inner (resp., outer) boundary of its @d-annulus. In this paper we address three major problems of covering a given point set S by an offset version or a polygonal annulus of a polygon P. First, the Maximum Cover objective is, given a value of @d, to cover as many points from S as possible by the @d-offset (or by the @d-annulus) of P, allowing translation and rotation. Second, the Containment problem is to minimize the value of @d such that there is a rigid transformation of the @d-offset (or the @d-annulus) of P that covers all points from S. Third, in the Partial Containment problem we seek the minimum offset of P covering k=<|S| points. These problems arise in many applications where one needs to match a given polygonal figure (a known model) to a set of points (usually, obtained measures). We address several variants of these problems, including convex and simple polygons, as well as polygons with holes and sets of polygons, and obtain algorithms with low-degree polynomial running times in all cases.

Journal ArticleDOI
TL;DR: This paper shows that both are easier than sorting by presenting an O(n log*n) algorithm for maintaining convex hulls under splitting at extreme points, and opens the question of whether there is a practical, linear-time solution.
Abstract: The cartographers' favorite line simplification algorithm recursively selects from a list of data points those to be used to represent a linear feature, such as a coastline, on a map. A constructive solid geometry (CSG) conversion for a polygon takes a list of vertices and produces a formula representing the polygon as an intersection and union of primitive halfspaces. By using a data structure that supports splitting convex hulls and finding extreme points, both were known to have O(n log n) time solutions in the worst-case. This paper shows that both are easier than sorting by presenting an O(n log*n) algorithm for maintaining convex hulls under splitting at extreme points. It opens the question of whether there is a practical, linear-time solution.

Journal ArticleDOI
TL;DR: This paper examines the question of whether one can get around this cubic lower bound, and shows that under the L 1 and L ∞ metrics, the time to compute the minimum Hausdorff distance between two point sets is O( n 2 log 2 n ).
Abstract: We consider the following geometric pattern matching problem: find the minimum Hausdorff distance between two point sets under translation with L 1 or L ∞ as the underlying metric. Huttenlocher, Kedem and Sharir have shown that this minimum distance can be found by constructing the upper envelope of certain Voronoi surfaces. Further, they show that if the two sets are each of cardinality n then the complexity of the upper envelope of such surfaces is Ω(n 3 ) . We examine the question of whether one can get around this cubic lower bound, and show that under the L 1 and L ∞ metrics, the time to compute the minimum Hausdorff distance between two point sets is O( n 2 log 2 n ).

Journal ArticleDOI
TL;DR: A new method for construction that reduces the need for “traditional” support structure, hence reducing wasted material and decreasing build time is proposed, which selectively thickens the surface's walls and is a natural compliment to adaptive slicing.
Abstract: The layered manufacture of sheet (surface) parts is considered for processes that use support structure. In particular, for surfaces with closed slices and solids whose interiors are unimportant, a new method for construction that reduces the need for “traditional” support structure, hence reducing wasted material and decreasing build time, is proposed. This method selectively thickens the surface's walls and is a natural compliment to adaptive slicing. Instructive examples are provided.

Journal ArticleDOI
TL;DR: It is shown that notch-cutting, when applied to a polyhedron with n faces and r reflex dihedral angles, gives a convex decomposition with Θ(nr + r 7 3 ) worst-case complexity.
Abstract: In 1984, B. Chazelle proposed a notch-cutting procedure for decomposing a non-convex polyhedron into convex pieces. This paper shows that notch-cutting, when applied to a polyhedron with n faces and r reflex dihedral angles, gives a convex decomposition with Θ(nr + r 7 3 ) worst-case complexity. The upper and lower bounds are obtained by studying the complexity of the horizon of a segment in an incrementally-constructed erased arrangement of n lines. Efficient deterministic algorithms to compute this decomposition are also described.

Journal ArticleDOI
TL;DR: A randomized approach for finding invariants in a set of flexible and chemically distinct ligands (drug molecules) that underlies an integrated software system called RAPID currently under development, which is expected to prove useful in other applications such as molecular database screening and comparative molecular field analysis.
Abstract: This paper describes a randomized approach for finding invariants in a set of flexible and chemically distinct ligands (drug molecules) that underlies an integrated software system called RAPID currently under development. An invariant is a collection of features embedded in R 3 which is present in one or more of the possible low-energy conformations of each ligand. Such invariants are called pharmacophores and contain the parts of the ligand that are primarily responsible for its binding with a receptor. The identification of pharmacophores is crucial in drug design since frequently the structure of targeted receptor is unknown but a number of molecules that interact with it have been discovered by experiments. In these cases the pharmacophore is used as a template for building more effective drugs. It is expected that our techniques and results will prove useful in other applications such as molecular database screening and comparative molecular field analysis.

Journal ArticleDOI
TL;DR: In this article, the authors presented an algorithm with running time O(nk^2c^2m^2log(mk)) where k is the maximum number of points contained.
Abstract: Given a convex polygon P with m vertices and a set S of n points in the plane, we consider the problem of finding a placement of P (allowing both translation and rotation) that contains the maximum number of points in S. We present first an algorithm requiring O(n^2km^2log(mn)) time and O(n + m) space, where k is the maximum number of points contained. We then give a refinement that makes use of bucketing to improve the running time to O(nk^2c^2m^2log(mk)), where c is the ratio of length to width of the polygon. This provides an improvement over the best previously known algorithm linear in n when k is large (@Q(n)) and a cubic when k is small. We also show that the algorithm can be extended to solve bichromatic and general weighted variants of the problem. The algorithm is self-contained and utilizes the geometric properties of the containing regions in the parameter space of transformations.