Dans ce travail pratique il s’agit de réunir tout le travail effectué durant les semaines précédentes.
Votre programme devra prendre en argument un nom de fichier .las
et ajouter tous les points 3D s’y trouvant dans un vecteur1.
Pour des raisons de précision numérique, il faut, ensuite, translater tous vos points par rapport au premier point lu. En peudo-c cela donnerait
Le nombre de points étant très grand, il faut d’abord “filtrer” les points, en n’en gardant qu’une portion, p
(p
est un nombre entre 0 et 1), d’entre eux et les stocker dans un nouveau vecteur (voir plus bas pour plus de détails). Le nombre p
sera également donné en argument de votre programme (typiquement de 0.005
).
Effectuer la triangulation de Delaunay sur les points filtrés (rappel: la triangulation se fait sur des points 2D).
Écrire un fichier STL avec la triangulation, où cette fois les sommets des triangles sont des points 3D. Le nom du fichier sera également donné en argument du programme.
Votre programme s’exécutera avec une commande du type:
$ ./triangulation input.las 0.005 output.stl
Pour simplifier le filtrage se fera de la façon suivante. Pour chaque point chargé du fichier .las
, il faut tirer un nombre aléatoire entre 0
et 1
. Si ce nombre aléatoire est plus petit que p
le points est ajouté à un nouveau vecteur de points.
Utilisez la structure vecteur de votre choix. Pas besoin de mettre les deux que nous avons vues en exercices.↩︎