## Section: New Results

Keywords : Triangulations, Voronoi diagrams, compact data structures, parallel algorithms, periodic spaces, projective geometry, robustness, predicates, curves, surfaces.

### Data Structures and Robust Geometric Computation

#### Parallel Geometric Algorithms for Multi-Core Computers

Participants : Vicente Batista, Sylvain Pion.

In collaboration with David Millman from University of North Carolina at Chapel Hill, and Johannes Singler from Universität Karlsruhe.

Computers with multiple processor cores using shared memory are now ubiquitous. We present several parallel geometric algorithms that specifically target this environment, with the goal of exploiting the additional computing power. The
d -dimensional algorithms we describe are (a) spatial sorting of points, as is typically used for preprocessing before using incremental algorithms, (b)
k d-tree construction, (c) axis-aligned box intersection computation, and finally (d) bulk insertion of points in Delaunay triangulations for mesh generation algorithms or simply computing Delaunay triangulations. We show experimental results for these algorithms in 3D, using our
implementations based on
cgal . This work is a step towards what we hope will become a
*parallel mode* for CGAL, where algorithms automatically use the available parallel resources without requiring significant user intervention
[41] .

#### Delaunay triangulation of points in higher dimensions

Participants : Jean-Daniel Boissonnat, Olivier Devillers, Samuel Hornus.

We propose a new C++ implementation of the well-known incremental algorithm for the construction of Delaunay triangulations in any dimension. Our implementation follows the exact computing paradigm and is hence robust. An extensive series of comparisons have shown that our implementation outperforms the best available implementations for convex hulls and Delaunay triangulations, and that it can be used for large point sets in spaces of dimensions up to 6 [50] .

#### Delaunay triangulation of moving points

Participants : Pedro Machado Manhães de Castro, Olivier Devillers.

Delaunay triangulations of a set of points is one of the most famous data structures produced by computational geometry. Two main reasons explain this success: -1- computational geometers eventually produce efficient algorithms to compute it, and -2 it actually has effective usage such as meshing for finite elements methods or surface reconstruction from point clouds. For several applications the data are moving and thus the triangulation evolves with time. It arises for example when meshing deformable objects, or in some algorithms relocating the vertices by variational methods. We focused on what we call timestamps moving, that is computing the Delaunay triangulation of a set of moving points at some discrete times. We review existing related work [48] , and develop a new approach by evaluating tolerance, allowing points to move inside their tolerance without recomputing the triangulation. Preliminary results in two dimensions are very promising in the context of points placement by the Lloyd iteration [45] .

#### Lower and upper bounds on the number of empty cylinders and ellipsoids.

Participants : Olivier Devillers, Monique Teillaud.

This work has been done in collaboration with Oswin Aicholzer, Franz Aurenhammer, Thomas Hackl, and Birgit Vogtenhuber (Graz)

Given a set
of
n points in three dimensions, we study the complexity of quadrics enclosing the points of
. We prove that the set of empty or enclosing ellipsoids has
(
n^{4}) complexity, the same bound apply to empty or enclosing general cylinders, while for circular cylinders a gap remains between the
(
n^{3}) lower bound and the
O(
n^{4}) upper bound. The fact that the upper bound for general quadrics remains tight for general cylinders despite the fact that cylinders have less degrees of freedom than quadrics is quite interesting and a bit surprising.

We also take interest in pairs of empty homothetic ellipsoids with
(
n^{6}) bounds, while the specialized versions yields to
O(
n^{6}) ,
(
n^{5}) for pairs of general homothetic cylinders and
O(
n^{6}) ,
(
n^{4}) for pairs of parallel circular cylinders. This proves that the number of combinatorially distinct Delaunay triangulations obtained by orthogonal projections of
on a two dimensional plane is
O(
n^{6}) ,
(
n^{4}) [39] .

#### Triangulations in the 3D torus

Participants : Manuel Caroli, Monique Teillaud.

This work was started during the short post-doctoral stay of Nico Kruithof in Geometrica in 2006.

cgal currently provides packages to compute triangulations in and . Periodic triangulations are widely used in various areas (including mechanics, material engineering, cosmology, astrophysics, biology,...) for simulations. We continued our work on algorithms to compute triangulations in the periodic space , which is topologically equivalent to the 3D hypersurface of a torus in 4D.

We worked on the algorithmic issues arising when trying to efficiently compute Delaunay triangulations in this space. We proved that, whereas it is sometimes necessary to compute in a 27-sheeted covering of the torus, still computing without any duplication is possible when some very realistic conditions on the input data are fulfilled [36] . The algorithm has been implemented [26] .

We also studied a potential more generic design for the cgal 3D triangulation package, that would permit to add functionality to compute triangulations in various spaces [25] .

#### 3D regular complex

Participant : Monique Teillaud.

This work was started during the internship of Antoine Bru in 2007.

Whereas software for storing planar subdivisions are publicly available, as well as software for computing triangulations in 3D (in cgal and in other software packages), software for storing more general 3D subdivisions are seldom found. Still, there is a strong need in practice for such data structures. Indeed, they could be used to store some Voronoi diagrams. Also, while algebraic issues are usually seen as the bottleneck for computing arrangements of quadric surfaces in 3D, an appropriate data structure is in fact also missing. Arrangements of the simplest quadrics, namely spheres, may have a complicated topology, however, when decomposed in a careful way, the subdivision that is obtained is actually simply a regular complex.

We started to work on the design and implementation of a cellular data structure capable of storing and traversing a manifold regular complex of dimension 3 [35] . This implementation is based on and extending the cgal Halfedge Data Structure package.

#### Robust Construction of the Three-dimensional Flow Complex

Participant : Sylvain Pion.

In collaboration with Frédéric Cazals from the Abs project-team and Aaditya Parameswaran, currently PhD student at Stanford University.

The Delaunay triangulation and its dual the Voronoi diagram are ubiquitous geometric complexes. From a topological standpoint, the connection has recently been made between these cell complexes and the Morse theory of distance functions. In particular, in the generic setting, algorithms have been proposed to compute the flow complex -the stable and unstable manifolds associated to the critical points of the distance function to a point set. As algorithms ignoring degenerate cases and numerical issues are bound to fail on general inputs, this paper [27] develops the first complete and robust algorithm to compute the flow complex. First, we present complete algorithms for the flow operator, unraveling a delicate interplay between the degenerate cases of Delaunay and those which are flow specific. Second, we sketch how the flow operator unifies the construction of stable and unstable manifolds. Third, we discuss numerical issues related to predicates on cascaded constructions. Finally, we report experimental results with cgal 's filtered kernel, showing that the construction of the flow complex incurs a small overhead w.r.t. the Delaunay triangulation when moderate cascading occurs. These observations provide important insights on the relevance of the flow complex for (surface) reconstruction and medial axis approximation, and should foster flow complex based algorithms. In a broader perspective and to the best of our knowledge, this paper is the first one reporting on the effective implementation of a geometric algorithm featuring cascading.

#### Computational Geometry vs Computer Network Issues

Participant : Olivier Devillers.

Where does computational geometry appear in computer networks? Or more precisely, can we use knowledge from computational geometry to give a fresh view on some problems in computer networks? We take interest in all kinds of networks, internet, wifi, cell phones, ad-hoc or peer to peer
networks, and we try to identify the geometric nature of the problem if it exists. Several sources of geometry may appear, the most obvious ones being what we call the “true” geometry, when the nodes of the network have geometric positions. Geometry can also appear also in the
search of
*internet coordinates* or other kind of
*virtual coordinates* belonging to some space without concrete meaning but allowing the proof of relevant properties, such the existence of simple routing algorithms
[12] .

Some classical problems in computational geometry such as point location, k -center or clustering are useful to computer networks but with concerns that are different from the usual ones in computational geometry, e.g. load balancing or the ability of decentralized control.

These findings are summarized in an INRIA research report [47] .