TD 1 - Mise en route (la géométrie algorithmique en Java)


Votre opinion sur le cours :

Le but de ce premier TD est de se familiariser avec la librairie Jcg, et ses structures de données et primitives géométriques. En particulier on focalisera notre attention sur l'utilisation et manipulation des maillages triangulaires planaires et les maillages surfaciques 3D. Avant de commencer, il faut installer et configurer la librairie Jcg, comme expliqué ci-dessous.

Voici une petite collection de maillages planaires et surfaciques 3D au format OFF (utiles pour effectuer des tests au cours du TD)

 Installation et configuration de Jcg

0. Tester la librairie Jcg

Remarque importante: assurez vous que les fichiers .OFF soient situés à la bonne place (enlevez/ajouter des commentaires dans le main, le cas échéant).

Test 1: points et segments dans le plan (sans Java3D)

Dans une première étape (après avoir téléchargé et installé la librairie Jcg, ainsi que Java3D, comme expliqué ci-dessus), on vous demande de:


Test 2: classe Polyhedron.java (avec et sans Java3D)


java  Jcg.polyhedron.TestPolyhedron 2
java  Jcg.polyhedron.TestPolyhedron 3

Test 3: classe TriangulationDS_2.java (avec et sans Java3D)






test2D()
testPlaneTriangulation("triangulation.off")
test3D("tri_round_cube.off")

1. Localisation planaire

Ce premier exercice introduit une structure de données fondamentale en géométrie algorithmique, connue sous le nom de Half-edge, qui permet de représenter des surfaces combinatoires orientables, triangulées ainsi que polygonales. En particulier, on se servira des opérations élémentaires de navigation dans un maillage afin d'implementer un algorithme simple de localisation d'un point dans le plan.

Voici deux exemples d'éxécution de l'algorithme de localisation dans une triangulation basé sur une marche aléatoire.



2. Surfaces de subdivision (facultatif)

Cet exercice introduit une autre structure de données, permettant de représenter des triangulations à base de relations d'adjacence entre triangles (cela suffit pour représenter des triangulations planaires, ainsi que des maillages triangulées surfaciques 3D). Le but est d'apprendre quelques opérations fondamentales de navigation et de manipulation d'une triangulation.





maillage original
après une étape de subdivision
2 étapes
3 étapes

3. Convex Hull 2D

Da cet exercice on vous demande d'implementer l'un des algorithmes vus en cours pour le calcul des enveloppes convexes dans le plan.