Designing programs that check their work
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
Checking geometric programs or verification of geometric structures
Proceedings of the twelfth annual symposium on Computational geometry
How good are convex hull algorithms?
Computational Geometry: Theory and Applications
Checking the convexity of polytopes and the planarity of subdivision
WADS '97 Selected papers presented at the international workshop on Algorithms and data structure
Checking geometric programs or verification of geometric structures
Selected papers from the 12th annual symposium on Computational Geometry
Using generic programming for designing a data structure for polyhedral surfaces
Computational Geometry: Theory and Applications - Special issue on applications and challenges
Fundamental problems of algorithmic algebra
Fundamental problems of algorithmic algebra
LEDA: a platform for combinatorial and geometric computing
LEDA: a platform for combinatorial and geometric computing
Criteria for Balance in Abelian Gain Graphs, with Applications to Piecewise-Linear Geometry
Discrete & Computational Geometry
Computational Geometry: Theory and Applications
Computer Science Review
Hi-index | 0.00 |
We prove the following criterion: a compact connected piecewise-linear hypersurface (without boundary) in R^n (n=3) is the boundary of a convex body if and only if every point in the relative interior of each (n-3)-face has a neighborhood that lies on the boundary of some convex body. This criterion is derived from our theorem that any connected complete locally convex hypersurface in S^n (n=3) is the boundary of a convex body in S^n. We give an easy-to-implement convexity testing algorithm based on our criterion. This algorithm does not require any assumptions about the global topology of the input hypersurface. For R^3 the number of arithmetic operations used by our algorithm is at most linear in the number of vertices, while in general it is at most linear in the number of incidences between (n-2)-faces and (n-3)-faces. The algorithm still remains polynomial even when the dimension n is a variable and the bit complexity model for (exact) arithmetic operations is used. The suggested method works in more general situations than the convexity verification algorithms developed by [K. Mehlhorn, S. Naher, M. Seel, R. Seidel, T. Schilz, S. Schirra, U. Stefan, C. Uhrig, Checking geometric properties or verification of geometric structures, in: Proc. of 12th Annual ACM Sympos. Comput. Geom., Computational Geom., 1996, pp. 159-165] and [O. Devillers, G. Liotta, F. Preparata, R. Tamassia, Checking the convexity of polytopes and the planarity of subdivisions, Comput. Geom. 11 (1998) 187-208]-for example, our method does not require the input surface to be homeomorphic to the sphere, nor does it require the input data to include normal vectors to the facets that are oriented ''in a coherent way''. For R^3 the complexity of our algorithm is the same as that of previously known algorithms; for higher dimensions there seems to be no clear winner, but our approach is the only one that easily treats surfaces of arbitrary topology without a preliminary topological computation aimed at verifying that the input is a topological sphere. Furthermore, our method can be easily extended to piecewise-polynomial surfaces of degree 2 and 3.