Skip to content

Article : Maillage par projection verticale "2.5D" vs. maillage "full 3D"

Robou edited this page Sep 22, 2023 · 1 revision

Comparaison des algorithmes de génération de modèle d'altitude dans le contexte de la haute-montagne

Comparaison visuelle pour la face sud du massif de la Meije, connu pour son Doigt de Dieu caractéristique en surplomb.

Nuage de points brut

Les dévers importants sont figurés "en trous", par l'absence de points dans le nuage, du fait que l'avion avec le Lidar embarqué est majoritairement à la quasi verticale du sol scanné.

Maillage surfacique par projection verticale 2.5D

Pour générer la surface 3D liant tous ces points du nuage, différentes méthodes existent, mises en application par différents algorithmes implémentés par différents projets, différents logiciels. Ici, QGIS génère à la volée un maillage brut en faisant une simple projection verticale, c'est-à-dire que pour chaque coordonnées horizontale X-Y sur la carte, il n'est retenu que le point le plus haut en coordonnée Z, et le logiciel trace des triangeles entre eux. Méthode très rapide et simple, à tel point que c'est fait en temps réel. Mais on voit directement que pour les dévers, sur une même verticale de coordonnée XY, les points situés sous le plus haut des points Z sont ignorés, "cachés". Visuellement, cela génère des piliers verticaux. C'est une perte d'information.

Modèle "full 3D" généré par CloudCompare

L'algorithme que j'ai choisi (celui que j'ai réussi à faire fonctionner et qui m'a plu) génère une surface 3D pour toute sorte de nuages de points, et donc permet éventuellement de représenter plus correctement les dévers et surplombs. C'est le plugin PoissonRecon. Malheureusement, comme nous l'avons vu plus haut, les dévers contiennent souvent aucun points ou très peu : la reconstruction sera donc forcément peu précise, voire générera des erreurs topologiques ne correspondant plus à la réalité. Ici, on n'a pas de perte d'information mais plutôt une génération d'information fausse : une donnée supplémentaire de la réalité. Mais suivant les réglages et les zones alpines, on peut s'en accomoder je trouve mieux que le type d'algorythme précédent 2.5D.

Il est possible de mettre en évidence les dévers reconstitués en visualisant le champ scalaire ("SF" pour Scalar Field dans CloudCompare) associé à la composante Z des normales, puis en applicant une palette de couleur adaptée. Pour cela, une fois avoir calculé les normales (voir tuto principal) : présélectionner le maillage (mesh) voulu puis cliquer sur Menu Éditer>Normales>Export Normals to SF(s), puis sélectionner juste Z. Ensuite, visualiser le champ créé, en sélectionnant le mesh concerné (il devrait être resté présélectionné), en s'assurant dans le panneau Propriétés que la case "visible" est cochée, puis en sélectionant "Scalar Fields" dans la case Couleurs, puis en bas en sélectionnant une palette de couleurs adaptée.

à venir : comment créer une palette de couleurs ou en importer une depuis ce wiki. voir déjà : https://www.cloudcompare.org/doc/wiki/index.php/Scalar_fields%5CColor_Scales_Manager