VEGASis a research project of LORIA(Lorraine Research Laboratory in Computer Science and Applications), a laboratory shared by INRIA(National Institute for Research in Computer Science and Control), CNRS(National Center for Scientific Research), Université Henri Poincaré Nancy 1, Université Nancy 2, and INPL(National Engineering Institute of Lorraine).

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.

We developed, over the last years, the first efficient algorithm for computing an exact parameterization of the intersection of two quadric surfaces (ellipsoids, paraboloids, hyperboloids,
etc.) in three-dimensional real space given by implicit equations with rational coefficients. We also produced a C++ implementation of this algorithm which is the only existing solution for
computing exactly a parameterization of the intersection of two quadrics. A series of three articles describing the theoretical contributions of this work was accepted for publication in 2007
in the
*Journal of Symbolic Computation*
,
,
.

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. 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 of 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
kpolytopes. We have shown much better bounds on the number of these tangents than were previously known
. These results give a measure of the complexity of the vertices (cells of dimension 0) of the visibility complex of
faceted objects, in particular, for triangulated scenes.

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
O(
n^{4}), where
nis the number of objects in the scene. But we have, in fact, shown that when the objects are uniformly distributed, the complexity is linear in the size of the input
. This probabilistic result does not prejudice the complexity observed in real scenes where the objects are not
uniformly distributed. However, initial empirical studies show that, even for real scenes, the observed complexity is largely inferior to the theoretical worst-case complexity, as our
probabilistic result appears to indicate.

We are currently working on translating these positive signs into efficient algorithms. We are studying new algorithms for the construction of the visibility complex, putting the accent on the complexity and the robustness.

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, notably in view of their use in realistic rendering.

In comparison with polygonal representations, modeling and visualization of scenes of quadrics pose new problems. We study, in particular, problems related to the visualization and realistic rendering of such models. We work alongside the members of the ALICE team on the development of the method called virtual meshing which allows us to go beyond the real geometry of objects by creating a geometric abstraction better adapted to light calculations .

Early in the rendering process, but along with the development of a tool for illuminating curved surfaces, it is important to have a reliable conversion process from volumetric to surface models. Many conventional modelers are based on the assembly – union, intersection, difference – of simple volumes (a paradigm called Constructive Solid Geometry or CSG), typically quadric volumes. On the other hand, illumination by the radiosity method can only be done on surface representations of objects (called BRep for Boundary Representation). It is necessary, therefore, to be able to pass, in a robust manner, from one representation to the other, an operation known as CSG-BRep conversion, in order to profit from the power of the virtual mesh . The idea is to make the geometric information coherent with the topological information that expresses the relations of proximity and inclusion of different elements.

A fundamental step of this conversion is the computation of the intersection of two primitive volumes. We have recently developed and implemented a robust and near-optimal algorithm for the computation of an exact parametric form of the intersection of two quadrics , . Our method is based on the projective formalism, techniques of linear algebra and number theory, and new theorems characterizing the rationality of the intersection. This is the first general approach to the intersection of two quadrics that is usable in practice (as opposed to the approach used until now, that of J. Levin ).

Lately we have worked on the use of this general algorithm in an application context. We continue to work on the development of a loop for exact CSG-BRep conversion for models in which the basic primitives are quadric volumes. This work calls for the resolution of algebraic systems for which we collaborate with the members of the SALSA project.

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.

We work in collaboration with CIRTESon rapid prototyping. CIRTES, a company based in Saint-Dié-des-Vosges, has designed a technique called Stratoconception where a prototype of a 3D computer model is constructed by first decomposing the model into layers and then manufacturing separately each layer, typically out of wood of standard thickness (e.g. 1 cm), with a three-axis CNC (Computer Numerical Controls) milling machine. The layers are then assembled together to form the object. The Stratoconception technique is cheap and allows fast prototyping of large models.

When the model is complex, for example an art sculpture, some parts of the models may be inaccessible to the milling machine. These inaccessible regions are sanded out by hand in a post-processing phase. This phase is very consuming in time and resources. We work on minimizing the amount of work to be done in this last phase by improving the algorithmic techniques for decomposing the model into layers, that is, finding a direction of slicing and a position of the first layer .

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.

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

F. Cazals from Geometrica team, and M. Pouget are authors of two packages released in the last public version (3.3) of the library. These packages belong to the geometry processing part,
they enable the
*Approximation of Ridges and Umbilics*
and the
*Estimation of Local Differential Properties*
on Triangulated Surface Meshes.

Shadows play a central role in human perception and a wide variety of approaches have been considered for simulating and rendering them. Unfortunately, computing realistic shadows
efficiently is a very difficult problem, particularly in the case of non-point light sources, due to the complicated internal structure that such shadows may have. We presented some surprising
combinatorial results on the umbra and penumbra cast by non-trivial light sources. A point is in the umbra if it does not see any part of any light source; it is in full light if it sees
entirely all the light sources; otherwise, it is in the penumbra. For instance, we proved that a segment light source may cast on a plane, in the presence of two fat polytopes of size
n, up to
(
n)connected components of umbra in the worst case. We also presented several lower and upper bounds in the case of segment and polygonal light sources in a scene
composed of polytopes. These results are the first non-trivial bounds on the size of the umbra and show that the umbra can be surprisingly complicated, even in the presence of disjoint fat
obstacles. They were presented at the 2007 SoCG conference
and submitted to the journal
*Computational Geometry, Theory and Applications*. More generally, this work gives some insight on the structure of the umbra which may lead to new algorithms for computing them exactly
and efficiently.

Lines tangent to and intersecting geometric objects play a fundamental role in visibility problems, for instance, as generators of shadow boundaries. Although line geometry is a classical
subject, many gaps remain. In particular, little is known on how the geometry of the objects determine the structure of their line transversals. We proved that the set of directions of line
transversals to disjoint balls in
in a given order is a convex subset of the space of directions. This has a number of applications in line geometry, for example tight combinatorial bounds and Helly-type theorems. These
results have been presented at the 2007 SoCG conference
and will appear in the journal
*Discrete and Computational Geometry*
.

We studied over the last years the complexity of the set of lines and free line segments tangent to possibly intersecting arbitrary convex polytopes and presented an efficient sweep-plane
algorithm for computing such lines or free segments. These results, which significantly improve the state of the art on this subject, were published this year in the journal
*SIAM Journal on Computing*
. We also presented a first implementation of this algorithm in a video at this year's SoCG conference
. Related to this work, we studied various predicates, arising in three-dimensional visibility, concerning line
transversals to lines and segments in 3D. In particular, we computed the degrees of standard methods of evaluating these predicates. We showed that the degrees of some of these methods are
surprisingly high (up to 168), which may explain why computing line transversals with finite-precision floating-point arithmetic is prone to error. Our results also suggest the need to explore
alternatives to the standard methods of computing these quantities because efficient predicates for solving such elementary queries are important for the development of robust and efficient
algorithmic solutions to 3D visibility problems. This work was submitted and accepted this year in the journal
*Computational Geometry, Theory and Applications*
.

We also published this year some results on tangents to triangles in the journal
*Discrete and Computational Geometry*
. We submitted to the journal
*Discrete and Computational Geometry*a proof of an important folklore theorem in computer graphics, which is that a polyhedron of complexity
nthat approximates a surface in some reasonable way has silhouettes of expected size
, where the average is taken over all points of view
. Three other results on two-dimensional visibility were also published this year
,
,
.

Finally, Marc Glisse defended his Ph.D. on the combinatorics of line and segments in 3D visibility and Sylvain Lazard defended his Habilitation which focuses partly on this thematic .

We developed, over the last years, the first efficient algorithm for computing an exact parameterization of the intersection of two quadric surfaces (ellipsoids, paraboloids, hyperboloids,
etc.) in three-dimensional real space given by implicit equations with rational coefficients. We also produced a C++ implementation of this algorithm which is the only existing solution for
computing exactly a parameterization of the intersection of two quadrics. A series of three articles describing the theoretical contributions of this work was accepted for publication in 2007
in the
*Journal of Symbolic Computation*
,
,
.

We have recently started working on the problem of computing the medial axis or Voronoi diagram of polyhedra in 3D. These structures are largely used in applications; the medial axis is, for
instance, a way of representing a shape by its topological skeleton. Such a diagram is a partition of space into cells, each of which consists of the points closest to one particular object
than to any other. Moreover, the set of points equidistant to two lines (or to a line and a point) is a quadric and the set of points equidistant to three lines is the intersection of two
quadrics. While such structures are well-understood in the plane and for simple situations in higher dimensions (e.g. for sets of points), a lot remains to be done; for example, there is no
working solution for computing exactly the medial axis of a polyhedron. We started by considering the Voronoi diagram of lines and we presented some very nice results characterizing the
topology of the Voronoi diagrams of three lines. We proved, in particular, that the topology is invariant for lines in general position and we obtained a monotonicity property on the arcs of
the diagram. We deduced a simple algorithm for sorting points along such an arc, which is presumably of great interest for future efficient algorithms for computing the medial axis of a
polyhedron. The proof technique, which relies heavily upon modern tools of computer algebra, is also of great interest in its own right. These results were presented in the 2007 SoCG
conference
and submitted to the journal
*Discrete and Computational Geometry*.

We have presented a complete, exact and efficient algorithm and its implementation for computing the adjacency graph of an arrangement of integer quadrics . This algorithm builds upon our previous work on the parametrization of intersections of quadrics. Intersecting a parametrized intersection of two quadrics with a third quadric leads to finding the real zeros of polynomials of degree at most 8 with possibly algebraic coefficients. Experiments show that our implementation outperforms past approaches when dealing with generic situations. In non-generic situations, the current implementation is hampered by slow gcd computations over algebraic extensions.

Since our work on quadrics can not easily be extended to more complex primitives (cubics, quartics, ...), an orthogonal research direction is to consider the (certified) approximation of complex shapes by lower-degree objects, with the idea that a simple, intermediate representation has great potential for dealing with curved objects. We have worked in this direction by studying the approximation of smooth curves by tangent continuous conic splines . In particular, we have given tight bounds on the complexity of the approximation by a parabolic or conic spline with respect to the Hausdorff metric, as a function of the Euclidean and affine curvatures of the approximated curve. We have also presented a simple algorithm for computing an optimal parabolic or conic spline approximation of a restricted class of curves.

We also started working on the problem of geometric computing with algebraic tools. Our goal is two-fold. First, 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. Second, our goal is to demonstrate to which extent such state-of-the-art certified algebraic
root-finding systems can be used in geometric algorithms to obtain certified constructions involving curved objects without hindering performance. For that purpose, we focus on the problem of
computing arrangements of algebraic curves in two dimensions. We already have some results in these two directions. In particular, we have presented a preliminary version of a univariate
algebraic kernel for CGAL at the
*International Workshop on Robust Shape Operations Organized*in Sophia-Antipolis in September 2007.

On the thematic of geometric computing for low-degree surfaces, Sylvain Petitjean and Sylvain Lazard defended their Habilitation , .

Finally, it should be noted that we also addressed other problems in computational geometry. We obtained, in particular, results on furthest polygon Voronoi diagrams , on the complexity of Delaunay triangulation of random samples of a cylinder , in computational topology and graph drawing , .

*Lorraine Region*. The region of Lorraine supported our team in the context of a program for young teams and emerging project (3 Keuros in 2007).

McGill-VEGAS associated team. This INRIA program is a joint project between our group and the computational geometry laboratory of McGill University (Montréal), and in particular Sue Whitesides. This associated team was started in 2002 under the name McGill-ISA before the creation of VEGAS. The research theme is 3D visibility , , , , and, more generally, computational geometry. In this context, we organize regular international workshops (1st to 6th McGill - INRIA Workshop on Computational Geometry in Computer Graphics, 2002 - 2007) which regroup, for one week, 15 to 25 researchers from around the world. Many research projects were initiated during these workshops on the theme of 3D visibility and line geometry , , , , , , . Note finally that our Ph.D. student, L. Zhang, is co-supervised with S. Whitesides.

In the context of this cooperation, INRIA supported VEGAS up to 4 Keuros and McGill Univ supported the Canadian side up to 5 K$CAN in 2007.

International visitors:

- S. Bae (KAIST), South Korea, visiting student, Mar., 4 weeks.

- O. Cheong (KAIST), South Korea, visiting professor, Oct., 1 week;

- H. Kim (KAIST), South Korea, visiting student, Jul., 3 weeks.

- J.-G. Lim (KAIST), South Korea, visiting student, Jul., 3 weeks.

- C. Toth (MIT), USA, visiting postdoc, May, 2 days.

- M. Hemmer (MPII) Germany, visiting student, 1 week.

Visitors from France:

- O. Devillers (INRIA, Sophia), visiting researcher, Jul,. 1 week;

- A. Vigneron (INRA), visiting researcher, Oct., 1 week.

- M. Safey El Din (Paris 6 University), visiting researcher, 1 week.

International visits:

- X. Goaoc: Prof. R. Brandenberg team, Munchen, Germany.

- E. Tsigaridas: MPI Saarbrucken, Germany, 1 week.

All of the teaching activities were carried out in Nancy. 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 professors, assistant professors and Ph.D. students, actively teach at Université Nancy 2and INPL. Other members of the group also teach in the Master of Computer Science of Nancy; namely H. Everett, S. Lazard offer the module “Computational geometry and robustness” and M. Pouget teaches a course on CGAL. X. Goaoc also intervenes in the Master's program of the geology school at INPL with lectures on the same topic.

Program committees:

S. Lazard: Mathematical Aspects of Computer and Information Sciences (MACIS07).

S. Petitjean: 24th ACM Symposium on Computational Geometry (SoCG'08). Paper committee of the IEEE International Conference on Computer Vision (ICCV'07). Paper committee of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR'07).

Workshop organizations:

H. Everett and S. Lazard co-organized with S. Whitesides (McGill University) in 2007 the 6th Workshop on Geometry Problems in Computer Graphics

X. Goaoc co-organized a one-week workgroup (Uldhingen, Germany) with Otfried Cheong in January 2007.

All members of the team are involved in the organization of the next European Workshop on Computational Geometry (EuroCG'08) taking place in Nancy.

Invited talks:

X. Goaoc and S. Lazard: IMA (Institute for Mathematics and Its Applications, University of Minnesota) Non-Linear Computational Geometry, May 2007.

S. Lazard: Workshop on Computer Algebra in Geometric Modeling and Industry, Dec. 19–21, Castro Urdiales (Santander, Spain).

Other responsibilities:

Hazel Everett: Director of the Mathematics and Computer Science Department of Université Nancy 2. Vice-president of the hiring committee for computer science, Université Nancy 2. Member of the Research Council of Nancy-Université. Member of the “équipe de direction” of LORIA.

Sylvain Lazard: Member of the INRIA researcher (CR) hiring committee. Reviewer for the Natural Sciences and Engineering Research Council of Canada (NSERC)

Laurent Dupont: Member of the hiring committee for computer science, Université Nancy 2.

Xavier Goaoc: Member of the hiring committee for computer science, Université Paris 6.

CIRTES. is a research company in rapid prototyping. We have exchanges with CIRTES since we started in 2000 co-supervising a CIFRE PhD student, G. Lauvaux .

The objective of fast prototyping in today's manufacturing industry is to produce a physical model from a virtual one. Such a prototype should be cheap and easy to produce. Two popular technologies are NC machining in which an object is constructed using a 5 degrees of freedom drilling machine and layered manufacturing in which the object is built up from several layers.

Stratoconception is the main layered-manufacturing technique developed at CIRTES. In this technique a polyhedron is manufactured in fairly thick slices (e.g. 1 cm), each slice being manufactured by a two and one-half degrees of freedom tool . Not all objects can be perfectly manufactured that way, because some regions are not accessible to the drill, and choice of drilling direction and position of the slices have a large impact on the quality of the finished product. In fact, if the prototype is made of wood, manufacturing inaccuracies are repaired by manual sanding, a very time-consuming process. Once the positions of the slices have been chosen and the direction of drilling fixed, the error is exactly the same as the volume of the shadow cast on each slice by a light at infinity in the drilling direction.

Computing the optimal slicing strategy and drilling direction so as to minimize the volume of inaccessible regions is an open problem. We have proposed a practical approximate solution to this problem which has been tested with success and is now used by CIRTES . Computing a provably optimal solution remains however an open problem. Note that the notion of 3D visibility is a key in this work since a tool can only drill material that is accessible, that is, that it can “see”.

CRITTBOIS. The
*Critt Bois*is a resource center for companies working in the wood industry, installed since 1986 in the École Nationale Supérieure des Technologies et Industries du Bois, in Épinal.

We are working with the
*Critt Bois*on geometric optimisation problems arising in the making of wooden wine barrels. A contract is in preparation.