The main scientific objective of the
VEGASresearch team is to
*contribute to the development of an effective geometric computing*dedicated to
*non-trivial geometric objects*. Included among its main tasks are the study and development of new algorithms for the manipulation of geometric objects, the experimentation of algorithms,
the production of high-quality software, and the application of such algorithms and implementations to research domains that deal with a large amount of geometric data, notably solid modeling
and computer graphics.

Computational geometry has traditionally treated linear objects like line segments and polygons in the plane, and point sets and polytopes in three-dimensional space, occasionally (and more recently) venturing into the world of non-linear curves such as circles and ellipses. The methodological experience and the know-how accumulated over the last thirty years have been enormous.

For many applications, particularly in the fields of computer graphics and solid modeling, it is necessary to manipulate more general objects such as curves and surfaces given in either implicit or parametric form. Typically such objects are handled by approximating them by simple objects such as triangles. This approach is extremely important and it has been used in almost all of the usable software existing in industry today. It does, however, have some disadvantages. Using a tessellated form in place of its exact geometry may introduce spurious numerical errors (the famous gap between the wing and the body of the aircraft), not to mention that thousands if not hundreds of thousands of triangles could be needed to adequately represent the object. Moreover, the curved objects that we consider are not necessarily everyday three-dimensional objects, but also abstract mathematical objects that are not linear, that may live in high-dimensional space, and whose geometry we do not control. For example, the set of lines in 3D (at the core of visibility issues) that are tangent to three polyhedra span a piecewise ruled quadratic surface, and the lines tangent to a sphere correspond, in projective five-dimensional space, to the intersection of two quadratic hypersurfaces.

*Effectiveness*is a key word of our research project. By requiring our algorithms to be effective, we imply that the algorithms should be
*robust,**efficient,*and
*versatile*. By robust we mean algorithms that do not crash on degenerate inputs and always output topologically consistent data. By efficient we mean algorithms that run reasonably
quickly on realistic data where performance is ascertained both experimentally and theoretically. Finally, by versatile we mean algorithms that work for classes of objects that are general
enough to cover realistic situations and that account for the
*exact geometry*of the objects, in particular when they are curved.

**Keywords:**effective geometry, robustness, 3D visibility

The notion of 3D visibility plays a fundamental role in computer graphics. In this field, the determination of objects visible from a given point, the extraction of shadows or of penumbra boundaries are examples of visibility computations. In global illumination methods, (e.g. radiosity algorithms), it is necessary to determine, in a very repetitive manner, if two points of a scene are mutually visible. The computations can be excessively expensive. For instance, in radiosity, it is not unusual that 50 to 70% of the simulation time is spent answering visibility queries.

Objects that are far apart may have very complicated and unintuitive visual interactions, and because of this, visibility queries are intrinsically global. This partially explains that, until now, researchers have primarily used ad hoc structures, of limited scope, to answer specific queries on-the-fly. Unfortunately, experience has shown that these structures do not scale up. The lack of a well-defined mathematical foundation and the non-exploitation of the intrinsic properties of 3D visibility result in structures that are not usable on models consisting of many hundreds of thousands of primitives, both from the viewpoint of complexity and robustness (geometric degeneracies, aligned surfaces, etc.).

We have chosen a different approach which consists in computing ahead of time (that is, off-line) a 3D global visibility structure for which queries can be answered very efficiently on-the-fly (on line). The 3D visibility complex – essentially a partition of ray space according to visibility – is such a structure, recently introduced in computational geometry and graphics , . We approach 3D global visibility problems from two directions: we study, on the one hand, the theoretical foundations and, on the other hand, we work on the practical aspects related to the development of efficient and robust visibility algorithms.

From a theoretical point of view, we study, for example, the problem of computing lines tangent to four among

From a practical point of view, we have, for example, studied the problem of the complexity for these 3D global visibility structures, considered by many to be prohibitive. The size of these
structures in the worst case is

We work on translating these positive signs into efficient algorithms. We study new algorithms for the construction of the visibility complex, with a focus on the complexity and robustness.

**Keywords:**Effective geometry, robustness, geometric predicates, intersection detection.

Simple algebraic surfaces cover a variety of forms sufficient for representing the majority of objects encountered in the fields of design, architecture and industrial manufacturing. For instance, it has been estimated that 95% of all mechanical pieces can be well modeled by quadric patches (degree 2 surfaces, including planes, spheres, cylinders and cones) and torii . It is important, then, to be able to process these surfaces in a robust and efficient manner.

In comparison with polygonal representations, modeling and manipulating scenes made of curved objects pose a large variety of new issues and require entirely different tools. It is for instance no longer realistic to assume that simple operations like intersecting two primitives take constant time. The usual notion of complexity has to be revised and needs to incorporate the arithmetic complexity of operations.

Geometric computing with curved objects is plagued with robustness issues. The numerical instability of geometric algorithms is intimately linked to the double nature of geometric objects.
Indeed, a geometric object is two things: a combinatorial structure which encodes the incidence properties between the elements constituting the object, and numerical quantities (coordinates,
equations) describing the embedding of the object in space. Manipulating geometric data, without breaking the consistency constraints that govern the relation between combinatorial and
numerical quantities, is usually hard and has led to the unfolding of the
*exact geometric computing*paradigm.

The dependence of combinatorial decisions on numerical computations is encapsulated in the notion of
*geometric predicates*. When working with algebraic objects, evaluating a geometric predicate often means determining the sign of a polynomial expression in the coefficients of the input.
This sign encodes the answer to simple geometric queries like “are three given points aligned?” or “is a given line tangent to a given surface?”. The paradigm of exact geometric computing
requires the predicates to be evaluated exactly, ensuring that the branching of the algorithm are correct, that the software will not crash, loop indefinitely or output a wrong answer, and thus
that the topological structure of the output is correct.

In the context of exact geometric computing, we work on key problems involving curved objects, mainly two-dimensional curves, and low-degree three-dimensional surfaces such as quadrics. For instance, we study intersections of quadrics both from an algorithmic and an algebraic-geometric point of view. On the algorithmic side, we work on finding simple and usable parameterizations of the intersection of two arbitrary quadrics. On the algebraic side, we deal with finding simple (and ideally optimal) geometric predicates for classifying the intersection pattern and the positional relationship of two quadrics.

We also work on computing arrangements of curved objects, i.e. the partitioning of space induced by the objects, such as arrangements of curves on a surface, or arrangements of quadrics in 3D space. Note that intersections of 2 and 3 quadrics are building blocks for the constructions of quadric arrangements. We work on constructing simpler sub-arrangements, like the BRep (Boundary Representation) of a solid model (CSG). Exact CSG-to-BRep conversion is a key and long-standing problem in CAGD, where many conventional modelers work with volumes, and rendering software based on the global illumination approach need surface patches.

Finally, we deal with geometric problems where low-degree surfaces appear indirectly, not in the input but as intermediate structures. A major problem in this category is the computation of the Voronoi diagram, or medial axis, of polyhedra in 3D. In particular, we work on the simpler instance where only lines and line segments in 3D are considered, the bisectors of pairs of lines being quadric surfaces.

Our main application domain is photorealistic rendering in computer graphics. We are especially interested in the application of our work to virtual prototyping, which refers to the many steps required for the creation of a realistic virtual representation from a CAD/CAM model.

When designing an automobile, detailed physical mockups of the interior are built to study the design and evaluate human factors and ergonomic issues. These hand-made prototypes are costly, time consuming, and difficult to modify. To shorten the design cycle and improve interactivity and reliability, realistic rendering and immersive virtual reality provide an effective alternative. A virtual prototype can replace a physical mockup for the analysis of such design aspects as visibility of instruments and mirrors, reachability and accessibility, and aesthetics and appeal.

Virtual prototyping encompasses most of our work on effective geometric computing. In particular, our work on 3D visibility should have fruitful applications in this domain. As already explained, meshing objects of the scene along the main discontinuities of the visibility function can have a dramatic impact on the realism of the simulations.

Solid modeling, i.e., the computer representation and manipulation of 3D shapes, has historically developed somewhat in parallel to computational geometry. Both communities are concerned with geometric algorithms and deal with many of the same issues. But while the computational geometry community has been mathematically inclined and essentially concerned with linear objects, solid modeling has traditionally had closer ties to industry and has been more concerned with curved surfaces.

Clearly, there is considerable potential for interaction between the two fields. Standing somewhere in the middle, our project has a lot to offer. Among the geometric questions related to solid modeling that are of interest to us, let us mention: the description of geometric shapes, the representation of solids, the conversion between different representations, data structures for graphical rendering of models and robustness of geometric computations.

QI stands for “Quadrics Intersection”. QI is the first exact, robust, efficient and usable implementation of an algorithm for parameterizing the intersection of two arbitrary quadrics, given in implicit form, with integer coefficients. This implementation is based on the parameterization method described in , , , and represents the first complete and robust solution to what is perhaps the most basic problem of solid modeling by implicit curved surfaces.

QI is written in C++ and builds upon the LiDIA computational number theory library bundled with the GMP multi-precision integer arithmetic . QI can routinely compute parameterizations of quadrics having coefficients with up to 50 digits in less than 100 milliseconds on an average PC; see for detailed benchmarks.

Our implementation consists of roughly 18,000 lines of source code. QI has being registered at the Agence pour la Protection des Programmes (APP). It is distributed under the free for non-commercial use INRIA license and will be distributed under the QPL license in the next release. The implementation can also be queried via a web interface .

Since its official first release in June 2004, QI has been downloaded six times a month on average and it has been included in the geometric library EXACUS developed at the Max-Planck-Institut für Informatik (Saarbrücken, Germany). QI is also used in a broad range of applications; for instance, it is used in photochemistry for studying the interactions between potential energy surfaces, in computer vision for computing the image of conics seen by a catadioptric camera with a paraboloidal mirror, and in mathematics for computing flows of hypersurfaces of revolution based on constant-volume average curvature.

Isotopis a Maple software for computing the topology of an algebraic plane curve, that is, for computing an arrangement of polylines isotopic to the input curve. This problem is a necessary key step for computing arrangements of algebraic curves and has also applications for curve plotting. This software has been developed since 2007 in collaboration with F. Rouillier from INRIA Paris - Rocquencourt. It is based on the method described in which incorporates several improvements over previous methods. In particular, our approach does not require generic position.

Isotop is registered at the APP (June 15th 2011) with reference IDDN.FR.001.240007.000.S.P.2011.000.10000. This version is competitive with other implementations (such as AlciXand Insulatedeveloped at MPII Saarbrücken, Germany and topdeveloped at Santander Univ., Spain). It performs similarly for small-degree curves and performs significantly better for higher degrees, in particular when the curves are not in generic position.

We are currently working on an improved version integrating our new bivariate polynomial solver .

Born as a European project, CGAL (
http://

In computational geometry, many problems lead to standard, though difficult, algebraic questions such as computing the real roots of a system of equations, computing the sign of a polynomial
at the roots of a system, or determining the dimension of a set of solutions. we want to make state-of-the-art algebraic software more accessible to the computational geometry community, in
particular, through the computational geometric library CGAL. On this line, we contributed a model of the
*Univariate Algebraic Kernel*concept for algebraic computations
(see Sections 8.2.2 and 8.4). This CGAL package improves, for
instance, the efficiency of the computation of arrangements of polynomial functions in CGAL
. We are currently developing a model of the
*Bivariate Algebraic Kernel*based on our new bivariate polynomial solver
. This work is done in collaboration with F. Rouillier at INRIA Paris
- Rocquencourt and L. Peñaranda at the university of Athens.

We present in a new approach for solving polynomial systems of two bivariate polynomials with rational coefficients. The tools used in our algorithm are classical (subresultants, Groebner basis, triangular systems, regular chains, RUR (rational univariate representations), modular computation) but they are combined in a new way. We first use a classical approach based on subresultant sequences for decomposing a system into subsystems according to the number of roots (counted with multiplicities) in vertical lines. We then show how the resulting triangular subsystems can be efficiently solved by computing lexicographic Gröbner bases and Rational Univariate Representations (RURs) of these systems. We eventually show how this approach can be performed using modular arithmetic, while remaining deterministic, yielding an algorithm that can take advantage of a parallel implementation. We apply our solver to the problem of computing the topology of algebraic curves using the algorithm Isotop . We show that, on generic curves, our algorithm performs similarly as classical resultant-based algorithms and, on non-generic curves, it performs significantly better than all non-GPU based implementations (it outperforms the curve arrangement of CGAL with factors up to several hundreds). Preliminary experiments also hint that the recent GPU-based approach of Berberich et al. and the multi-thread version of our implementation perform similarly on a standard machine, although our implementation naturally depends on the number of threads.

We also started to work on a generalization of these results to real algebraic curves embedded in dimension 3 and higher.

We addressed the problem of counting the number of embeddings of a given rigid graph (a graph with edges labeled by distances). Such graphs are still not well understood and appear in several applications such as robot kinematics and structural biology. By modeling the problem as a sparse system of polynomial equations, we could bound the maximal number of embeddings from above with the algebraic mixed volume theory, and bound it from below with stochastic optimization methods. This work submitted in 2010 was accepted and published in the proceedings of the IFToMM 2011 conference .

Kinematic design can be seen as an application of rigid graph theory. In collaboration with the IRCCyN laboratory, we worked on the design of parallel mechanisms. We studied in particular the cable robots, a new kind of architecture, which is difficult to understand. The problem is to describe the set of parameters such that the robot doesn't break or lose control. Using tools from algebra, we can describe rigorously the working space of a simple planar cable robot . Work on this subject is promising, and some theory developed for rigid graphs could give other interesting results in kinematic design.

We addressed the problem of computing efficiently the distance between two piecewise-linear bivariate functions

We have worked on formalizing polynomial evaluation strategies of geometric predicates using algebraic invariant theory. Let

Identify the symmetries of the problem, i.e. the transformations on the entries

Use appropriate techniques or known theorems to obtain polynomial invariants for
*et al.*based on a symbolic representation of invariants.

Build a polynomial evaluation strategy for

We have applied this general approach to two problems: determining the number of real lines piercing four given lines and determining when two quadrics have no real point in common. For
the first problem we essentially reproduce the results obtained previously by Devillers
*et al.*through a direct manipulation of equations. For the second we only have partial results so far.

This work is part of Guillaume Batog's PhD thesis (defended in December 2011) .

The
*linear camera*is a fairly general geometric model of imaging devices proposed by Jean Ponce and based on
*linear line congruences*, two-dimensional sections of the Klein quadric (a classical model for the space of lines). In a previous work, in collaboration with Jean Ponce, we explored
properties of this model. We established in particular the equivalence of linear camera with another model proposed by Tomas Pajdla (which we generalized along the way). The complementarity
of these models allowed to extend standard computer vision techniques, such as stereo-reconstruction, to any imaging system modeled by a linear camera. We went one step further and explored
how the notion of “calibration” extends to linear cameras. We enriched the usual “intrinsic” parameters used for central cameras by additional parameters that encode the geometry of linear
line congruences. This required to investigate the Euclidean aspects of linear line congruences, objects that are usually studied in a projective setting.

This work is part of Guillaume Batog's PhD thesis (defended in December 2011) and a journal version is in preparation.

A set of points is said universal if it supports a crossing-free drawing of any planar graph. For a planar graph with

The nerve of a family of sets is a simplicial complex that records the intersection pattern of its subfamilies. Nerves are widely used in computational geometry and topology, because the nerve theorem guarantees that the nerve of a family of geometric objects has the same topology as the union of the objects, if they form a good cover.

We relaxed the good cover assumption to the case where each subfamily intersects in a disjoint union of possibly several homology cells, and we proved a generalization of the nerve theorem in this framework, using spectral sequences from algebraic topology. We then deduced a new topological Helly-type theorem that unifies previous results of Amenta, Kalai and Meshulam, and Matoušek. This Helly-type theorem is applied to (re)prove, in a unified way, bounds on Helly numbers of sets of lines in geometric transversal theory .

This project brings together computational geometers (from the VEGAS and GEOMETRICA projects of INRIA) and probabilistic geometers (from Universities of Rouen, Orléans and Poitiers) to tackle new probabilistic geometry problems arising from the design and analysis of geometric algorithms and data structures. We focus on properties of discrete structures induced by or underlying random continuous geometric objects.

This is a four year project, with a total budget of 400kE, that will start on Dec. 31st, 2011. It is coordinated by X. Goaoc (VEGAS).

The aim of this project is to initiate a collaboration to investigate algebraic/numeric methods for the analysis of manifolds, considering also singularities, that arise in robotics and biological models. Researchers specialized in interval analysis (LINA) and symbolic methods (LORIA) evaluate the relevance of their approaches to applications in robotics (IRCCyN) and biology (LINA). The outcome of this evaluation will be a proposal for a hybridization of both methods that will be worked out in a longer term project.

This is a one year project with a budget of 10 kE. Two one day workshops have been funded with invitations of potential partners for a followup.

William J. Lenhart, Williams College (USA), one year (sabbatical) from September 2011.

Andreas Holmsen, KAIST (South Korea), June, 1 week.

Martin Tancer, Charles University (Prague), April 1 week.

Pavel Patak, Charles University (Prague), April 1 week.

Zuzana Safernova, Charles University (Prague), April 1 week.

Jinsan Cheng, Chinese academy of science (Beijing), November, 1 week.

Luis Peñaranda, University of Athens, December, 1 week.

Sylvain Petitjean collaborates with Pr. Gert Vegter of the University of Groningen on “Certified Geometric Approximation”. This collaboration is funded by the Netherlands Organization for Scientific Research (NWO) - 2008–2012.

Program and Paper Committee:

Sylvain Lazard: Program committee of the ACM Symposium on Computational Geometry 2012 (SoCG'12).

Sylvain Petitjean: Paper committee of the 13th IEEE International Conference on Computer Vision (ICCV'11). Paper committee of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR'12).

Editorial responsibilities:

Xavier Goaoc: Editor of the
*Journal of Computational Geometry*.

Sylvain Petitjean: Editor of
*Graphical Models*.

Workshop organizations:

Sylvain Lazard co-organized with S. Whitesides (Victoria University) the 10th INRIA - McGill - Victoria Workshop on Computational Geometry

Thesis and habilitation committee:

Sylvain Lazard: external examiner of the PhD of T. NGuyen, University of Nice; member of the PhD. committees of H-S Kim, KAIST, South Korea, and of R. Cosset, Nancy University.

Sylvain Petitjean: member of the PhD committee of B. Nefzi, Nancy University.

Other responsibilities:

Sylvain Lazard: Head of the INRIA Nancy-Grand Est
*PhD and Post-doc hiring committee*(since 2009). Member of the
*Bureau du Département Informatique de Formation Doctorale*of the
*École Doctorale IAE+M*(since 2009). Reviewer for the Dutch National Science Foundation.

Laurent Dupont:
*Director*of the departement
*Services et réseaux de communication*of IUT Charlemagne, University Nancy 2 (since 2008, until July 2011).
*Responsible*of admissions of IUT Charlemagne, University Nancy 2 (since September 2011).
*Member*of Commission Pédagogique Nationale Infocom/SRC (since 2011).
*Member*of Commission Information Scientifique (Inria/Loria).

Xavier Goaoc:
*Correspondant Europe*of INRIA Nancy Grand-Est. Chairman of the INRIA
*COST-GTRI committee*since may 2011.

Guillaume Moroz: Member of the organizing committee of the
*Olympiades académiques de mathématiques*.
*Delegate*of the
*Commission des Utilisateurs des Moyens Informatiques pour la Recherche*.

Sylvain Petitjean:
*Scientific delegate*of INRIA Nancy Grand-Est and chairman of its
*Project committee*(since 2009). Member of the
*Executive committee*of INRIA Nancy Grand-Est, member of its
*Commission des développements technologiques*. Member of INRIA's
*Evaluation committee*.

Marc Pouget: Member of the CGAL Editorial Board (since 2008).

Most of the teaching activities were carried out in Nancy, and some in South Korea and Ghana. Several members of the group, in particular the (assistant) professors and Ph.D. students, actively teach at Nancy Université, which consists of Université Nancy 2, Université Henri Poincaré Nancy 1and several engineering schools grouped into INPL(Institut National Polytechnique de Lorraine).

Most of the teaching activities were carried out in Nancy, and some in South Korea and Ghana. The research Masters program is a joint degree with Univ. Nancy 1, Univ. Nancy 2 and the engineering school INPL. These three institutes are jointly known as University of Nancy.

Several members of the group, in particular the (assistant) professors and Ph.D. students, actively teach at Nancy Université. Inria researchers also intervene: Sylvain Lazard taught

Licence:
*Algorithms and Complexity*, 25h, L3, Université Nancy 2,

and Xavier Goaoc taught

Master:
*Pépites Algorithmiques*, 6h, cours électif, École des Mines de Nancy (INPL),

Master:
*Discrete and computational geometry*, 15h, master of CS, Postech, South Korea,

Master:
*Introduction to discrete and computational geometry*, 3h, master of geology, ENSG (INPL),

Master:
*Mathematical foundations of computer science*, 30h, Sandwich course, University of Cape Coast, Ghana,

Licence:
*C programming*, 10h, formation continue, Université Nancy 2,

Laurent Dupont, assistant professor, taught at Université Nancy 2 (IUT Charlemagne)

Licence:
*Concepts et Outils Internet*, 30h, L1,

Licence:
*Algorithmique 1*, 30h, L1,

Licence:
*Programmation Java*, 40h, L1,

Licence:
*Programmation de Sites Web Dynamiques*, 30h, L2,

Licence:
*Programmation Objet et Évènementielle*, 30h, L2,

Licence:
*Intégration Multimedia*, 20h, L2,

Licence:
*Programmation AJAX*, 20h, L2,

Licence:
*Rich Internet Applications*, 20h, L1,

Licence:
*Content Management Systems*, 20h, L2,

Licence:
*Systèmes d'Information*, 30h, L3.

Yacine Bouzidi, PhD student, taught at Université Nancy 2 (IUT Charlemagne)

Licence:
*Algorithmique et programmation*, 26h, L1,

Licence:
*Systèmes d'information-php*, 29h, L2,

Licence:
*Ajax*, 6h, L2,

Licence:
*Algorithmique 1*, 3h, L1.

PhD & HdR:

HdR: Xavier Goaoc,
*Transversal Helly numbers, pinning theorems and projection of simplicial complexes*, Université Henri Poincaré - Nancy 1, defended on December 7th, 2011.

PhD: Guillaume Batog, Problèmes classiques en vision par ordinateur et en géométrie algorithmique revisités via la géométrie des droites, defended on December 15th, 2011, under the supervision of S. Petitjean and X. Goaoc.

PhD in progress: Yacine Bouzidi, On the topology of curves and surfaces, started in October 2010, under the supervision of S. Lazard and M. Pouget.