Structure de données tri-dimensionnelle dans CGAL



Lieu : INRIA - Sophia Antipolis
BP 93, 06902 Sophia Antipolis cedex, FRANCE

Contact : Monique Teillaud
<Monique(dot)Teillaud(at)sophia.inria.fr>


La bibliothèque CGAL propose deux types de structures combinatoires permettant de représenter une subdivision du plan: une structure pour les subdivisions triangulaires ainsi qu'une structure plus générale du type DCEL (doubly connected edge list, ou encore "arêtes ailées"). Cette deuxième structure est codée sous la forme d'une structure en demi-arêtes (voir le chapitre Halfedge Data Structures du manuel CGAL pour une définition complète).
En dimension 3, CGAL n'offre qu'une structure de subdivision tétraédrique de l'espace, et pas de structure permettant de stocker une subdivision polyédrique générale.

Ce stage consistera à :
- coder pour CGAL une structure simple de subdivision spatiale en 3D, réutilisant et généralisant la structure Halfedge Data Structures,
- si le temps le permet, coder, en utilisant cette nouvelle structure 3d, une classe pour les diagrammes de Voronoï 3d, basée sur le module de Triangulations 3D de CGAL, sur le modèle du module diagramme de Voronoï 2D.

Quelques références :
F. Preparata and M. Shamos, Computational geometry: An Introduction, Springer-verlag, 1995
L. Kettner. Using generic programming for designing a data structure for polyhedral surfaces, Comput. Geom. Theory Appl., 13:65-90, 1999
E. Brisson, Representing Geometric Structures in d Dimensions: Topology and Order, Discrete Comput. Geom., vol 9, pp 387--426, 1993
P. Lienhardt, N-Dimensional Generalized Combinatorial Maps and Cellular Quasi-Manifolds, Internat. J. Comput. Geom. Appl., vol 4, pp 275--324, 1994
Y. Bertrand and J.-F. Dufourd, Algebraic specification of a 3D-Modeler Based on Hypermaps, CVGIP: Graph. Models Image Process., vol 56, pp 29--60, 1994
B. Lévy, G. Caumon, S. Conreaux and X. Cavin, Circular Incident Edge Lists: a Data Structure for Rendering Complex Unstructured Grids, IEEE Visualization, 2001

Pour en savoir plus sur CGAL :
Projet Open Source
Introduction à

Prérequis :
- très bon niveau en C++,
- bonnes connaissances d'algorithmique de base,
- goût pour le code de bonne qualité,
- goût pour les aspects mathématiques, et la combinatoire et la géométrie en particulier.


Last modified: Mon May 21 14:26:03 CEST 2007