Skip to content

Noceo200/ENSTA_S4_Underwater_Terrain_3D_Moddeling

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projet C++, NOEL Océan ROB24, 04/01/2022.

//////////////////// ////PRESENTATION//// ////////////////////

Ce projet génère une image binaire en couleur des fonds marins à partir d'un fichier de relevés. La structure des relevés doit être similaire à celle des fichiers .txt donnés avec ce projet dans le dossier "assets/". Les caractéristiques du programme sont les suivantes :

  • L'image est générée en binaire.
  • L'image est généré en couleur.
  • Le projet est compilé avec Cmake.
  • La projection utilisée est celle de LAMBERT93.
  • Les entrées du programme sont le chemin vers le fichier de données et la largeur de l'image à générée.
  • Les contours du MNT sont proprement rendus (même pour des enveloppes non convexes).
  • Une documentation HTML à été réalisée et est accessible via le fichier html/index.html.
  • Un algorithme d'optimisation pour la recherche des triangles à été implémenté.
  • L'image est générée avec des ombres

Le repertoire du projet est organisé de la manière suivante :

  • assets : Fichiers utilisés ou générés par le projet. (les relevés doivent être placés ici et l'image généré sera aussi placée dan sce repertoire)
  • html : Documentation HTML du projet. (Visualisable en lancant index.html)
  • include : Librairies ou fichier extérieurs au projet. (pas besoin de les installer)
  • src : Codes sources.

//////////////////// ////DEPENDANCES///// ////////////////////

Les librairies suivantes sont à installer pour que le projet fonctionne : *proj.h : "sudo apt-get install proj-dev" ou "sudo apt-get install libproj-dev" *VTK : "sudo apt install libvtk7-dev"

Il faut aussi mettre les données du MNT (.txt) dans le dossier "assets/" de la racine du projet.

//////////////////// ////QUICK START///// ////////////////////

Avant de commencer il faut mettre les données du MNT dans le dossier "assets/" qui est à la racine du projet.

Des fichiers bash on été créé pour faciliter la compilation et le lancement du programme :

"bash initialize_cmake.sh" : Initialisation et Cmake et création du dossier build. "bash build.sh" : Compilation du projet. "bash build_n_launch.sh 'fichier.txt' 'width'" : Compilation et lancement du programme avec les paramètres détaillés ci-dessous.

Détail des arguments :

  • fichier.txt --> nom du fichier .txt qui contient les mesures.
  • width --> largeur en pixel de l'image à générer.

////////////////////////////// ////COMPILATION AVEC CMAKE//// //////////////////////////////

Pour mettre en place la structure Cmake du projet avant la compilation, et créer le dossier build ou sera l'executabe, il faut executer la commande suivante à la racine :

"bash initialize_cmake.sh"

Un dossier build devrait apparaitre.

Ensuite, pour compiler le projet avec Cmake il faut executer la commande suivante à la racine :

"bash build.sh"

/////////////////////////////////////////// ////LANCEMENT (si utilisation de CMAKE)//// ///////////////////////////////////////////

Pour compiler et lancer le programme, un fichier bash à également été créé, la commande suivante permet de le lancer :

"bash build_n_launch.sh 'fichier.txt' 'width'"

Détail des arguments :

  • fichier.txt --> nom du fichier .txt qui contient les mesures.
  • width --> largeur en pixel de l'image à générer.

Ce fichier bash réalise plusieurs actions : 1 - Compilation du projet (Un executable est généré dans le dossier "build") 2 - Lancement du programme (une image .ppm est généré dans le dossier "build") 3 - Déplacement de l'image .ppm dans le dossier "assets" de la racine du projet 4 - Ouverture de l'image avec "xdg-open"

Le résultat visuel devrait apparaitre si xdg est installé sur votre PC. Autrement, vous pouvez ouvrir l'image manuellement dans le dossier "assets/" à la racine du projet.

Sinon, une fois l'executable créé dans le dossier build, il est possible de le lancer via cette commande à éxécuter dans "build" :

"./create_raster 'fichier.txt' 'width'" avec les même arguments détaillés ci-dessus.

Dans ce cas, l'image générée se trouvera dans le dossier 'build'.

/////////////////////////////////////////// ////COMPILATION ET LANCEMENT SANS CMAKE//// ///////////////////////////////////////////

Il possible de compiler et lancer le programme sans Cmake, pour cela voilà les étapes : 1 - Compiler le fichier "src/main.cpp" avec le compilateur de votre choix. 2 - Garder l'executable dans le dossier "src" et le lancer avec 2 arguments : "Nom du fichier .txt contenant les relevés" et "Largeur de l'image à générer en pixels" 3 - Ouvrir l'image .ppm qui à été générée dans le dossier "src"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published