Planar Nef polyhedra and generic higher-dimensional geometry

We present two generic software projects that are part of the software library CGAL. The first part describes the design of a geometry kernel for higher-dimensional Euclidean geometry and the interaction with application programs. We describe the software structure, the interface concepts, and their models that are based on coordinate representation, number types, and memory layout. In the higher-dimensional software kernel the interaction between linear algebra and the geometric objects and primitives is one important facet. In the actual design our users can replace number types, representation types, and the traits classes that inflate kernel functionality into our current application programs: higher-dimensional convex hulls and Delaunay tedrahedralisations. In the second part we present the realization of planar Nef polyhedra. The concept of Nef polyhedra subsumes all kinds of rectilinear polyhedral subdivisions and is therefore of general applicability within a geometric software library. The software is based on the theory of extended points and segments that allows us to reuse classical algorithmic solutions like plane sweep to realize binary operations of Nef polyhedra.

[1]  Kurt Mehlhorn,et al.  Checking geometric programs or verification of geometric structures , 1996, SCG '96.

[2]  Frank Harary,et al.  Graph Theory , 2016 .

[3]  Chee Yap,et al.  The exact computation paradigm , 1995 .

[4]  Chee-Keng Yap,et al.  Fundamental problems of algorithmic algebra , 1999 .

[5]  Walter Nef Beiträge zur Theorie der Polyeder : mit Anwendungen in der Computergraphik , 1978 .

[6]  Mark de Berg,et al.  Computational geometry: algorithms and applications , 1997 .

[7]  Alexander Schrijver,et al.  Theory of linear and integer programming , 1986, Wiley-Interscience series in discrete mathematics and optimization.

[8]  Joachim Ziegler,et al.  An implementation of a Convex Hull Algorithm, Version 1.0 , 1994 .

[9]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[10]  Donald E. Knuth,et al.  The art of computer programming. Vol.2: Seminumerical algorithms , 1981 .

[11]  J. Davenport Editor , 1960 .

[12]  Christopher J. Van Wyk,et al.  Static analysis yields efficient exact integer arithmetic for computational geometry , 1996, TOGS.

[13]  H. Bieri Nef polyhedra: a brief introduction , 1995 .

[14]  David P. Dobkin Visualizing Geometric Algorithms - State of the Art , 1996, WACG.

[15]  Kurt Mehlhorn,et al.  A computational basis for higher-dimensional computational geometry and applications , 1997, SCG '97.

[16]  Stephen Wolfram,et al.  The Mathematica book (3rd ed.) , 1996 .

[17]  Manuel Blum,et al.  Self-testing/correcting with applications to numerical problems , 1990, STOC '90.

[18]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[19]  R. Tennant Algebra , 1941, Nature.

[20]  Michael Seel Implementation of planar Nef polyhedra , 2001 .

[21]  Joseph S. B. Mitchell,et al.  Query-sensitive ray shooting , 1994, SCG '94.

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

[23]  Kurt Mehlhorn,et al.  The leda user manual , 1996 .

[24]  Donald E. Knuth,et al.  Literate Programming , 1984, Comput. J..

[25]  Hanspeter Bieri,et al.  Representation Conversions for Nef Polyhedra , 1996, Geometric Modelling.

[26]  Roberto Tamassia,et al.  A Case Study in Algorithm Engineering for Geometric Computing , 1997, Int. J. Comput. Geom. Appl..

[27]  Stefan Funke,et al.  Exact geometric predicates using cascaded computation , 1998, SCG '98.

[28]  Chee-Keng Yap,et al.  Towards Exact Geometric Computation , 1997, Comput. Geom..

[29]  Bruce W. Char,et al.  Maple V Language Reference Manual , 1993, Springer US.

[30]  Herbert Edelsbrunner,et al.  Simulation of simplicity: a technique to cope with degenerate cases in geometric algorithms , 1988, SCG '88.

[31]  Peter-Michael Schmidt,et al.  Computing a Sweeping-Plane in Regular ("General") Position: A Numerical and a Symbolic Solution , 1990, J. Symb. Comput..

[32]  Kurt Mehlhorn,et al.  Four Results on Randomized Incremental Constructions , 1992, Comput. Geom..

[33]  Thomas Ottmann,et al.  Numerical stability of geometric algorithms , 1987, SCG '87.

[34]  Sylvain Pion,et al.  Interval arithmetic yields efficient dynamic filters for computational geometry , 1998, SCG '98.

[35]  Nina Amenta,et al.  Computational geometry software , 1997 .

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

[37]  Stephen Wolfram,et al.  The Mathematica Book , 1996 .

[38]  ScienceDirect Computational geometry : theory and applications. , 1991 .

[39]  Kurt Mehlhorn,et al.  The Implementation of Geometric Algorithms , 1994, IFIP Congress.

[40]  David P. Dobkin,et al.  The quickhull algorithm for convex hulls , 1996, TOMS.

[41]  Henri Cohen,et al.  A course in computational algebraic number theory , 1993, Graduate texts in mathematics.

[42]  G. M.,et al.  Projective Geometry , 1938, Nature.

[43]  David R. Musser,et al.  STL tutorial and reference guide - C++ programming with the standard template library , 1996, Addison-Wesley professional computing series.

[44]  J. Edmonds Systems of distinct representatives and linear algebra , 1967 .

[45]  Mark H. Overmars Designing the Computational Geometry Algorithms Library CGAL , 1996, WACG.

[46]  Kurt Mehlhorn,et al.  LEDA: a platform for combinatorial and geometric computing , 1997, CACM.

[47]  Mariette Yvinec,et al.  A Complete and Efficient Algorithm for the Intersection of a General and a Convex Polyhedron , 1993, WADS.

[48]  Michael Seel A runtime test of integer arithmetic and linear algebra in LEDA , 1996 .

[49]  Hanspeter Bieri,et al.  Elementary Set Operations with d-Dimensional Polyhedra , 1988, Workshop on Computational Geometry.

[50]  G. C. Shephard,et al.  Convex Polytopes , 1969, The Mathematical Gazette.

[51]  Geert-Jan Giezeman,et al.  The CGAL Kernel: A Basis for Geometric Computation , 1996, WACG.

[52]  Kurt Mehlhorn,et al.  Position Paper for Panel Discussion , 1996, WACG.

[53]  Michael Hoffmann,et al.  An adaptable and extensible geometry kernel , 2001, Comput. Geom..

[54]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[55]  Nathan Myers,et al.  A new and useful template technique: “traits” , 1996 .

[56]  Lee R. Nackman,et al.  Efficient Delaunay triangulation using rational arithmetic , 1991, TOGS.

[57]  Lutz Kettner,et al.  Using generic programming for designing a data structure for polyhedral surfaces , 1999, Comput. Geom..

[58]  Bruce Randall Donald,et al.  A rational rotation method for robust geometric algorithms , 1991, SCG '92.

[59]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.