Top Banner
CloudCompare v2.6.1 9 octobre 2015
109

CloudCompare v2.6

Jun 23, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CloudCompare v2.6

CloudCompare v2.6.1

9 octobre 2015

Page 2: CloudCompare v2.6

2

Page 3: CloudCompare v2.6

Chapitre 1

Introduction

1.1 Historique

CloudCompare est un logiciel d’édition et de traitement de nuages de points3D (et de mailles triangulaires). À l’origine, il a été conçu pour effectuer unecomparaison directe entre des nuages de points 3D denses. Il repose sur un spé-cifique Octree structure qui permet de grandes performances 1 lorsqu’on effectuece genre de tâche. De plus, comme la plupart des nuages de points acquis parles scanners laser terrestres, CloudCompare était destiné à traiter les énormesnuages de points sur une norme ordinateur portable - généralement plus de 10millions de points (en 2005 !). Peu de temps après, comparaison entre un nuagede points et un triangle le maillage a été pris en charge (voir ci-dessous). En-suite, de nombreux autres algorithmes de traitement de nuage de points ont suivi(enregistrement, rééchantillonnage, gestion des vecteurs couleurs / normaux /champs scalaires, calcul statistique, gestion des capteurs, segmentation inter-active ou automatique, etc.) ainsi que des outils d’amélioration de l’affichage(rampes de couleurs personnalisées, couleurs et couleurs normales). traitementdes vecteurs, traitement des images calibrées, shaders OpenGL, plugins, etc.).

1. par exemple, il a fallu environ 10 secondes. calculer les distances de 3 millions de pointspour un maillage de 14 000 triangles sur un ordinateur portable doté d’un processeur dualcore

1

Page 4: CloudCompare v2.6

2 CHAPITRE 1. INTRODUCTION

1.2 Philosophie

1.2.1 Nuage de points Versus MeshEn ce qui concerne son histoire particulière, CloudCompare considère presque

toutes les entités 3D comme des nuages de points. Typiquement, un trianglemaillage est uniquement un nuage de points (les sommets du maillage) avecune topologie associée (triplets de points «connectés» correspondant à chaquetriangle). Ceci explique que les maillages ont toujours soit un nuage de pointsnommé ’sommets’ comme frère ou parent (selon la façon dont ils ont été char-gés ou générés). Et tandis que CloudCompare laissera l’utilisateur appliquerquelques outils directement sur une structure de maillage (par exemple des tri-angles), certains outils ne peuvent être appliqués qu’aux sommets du maillage.C’est peut-être un peu inquiétant au début, mais nous ne voulons pas que l’uti-lisateur l’ignore : CloudCompare est principalement un logiciel de trai-tement de nuage de points .

Bien entendu, CloudCompare étant censé détecter les modifications (sur-veillance de l’affaissement, par exemple) et un maillage triangulaire Un moyentrès courant de représenter une forme de référence (par exemple un bâtiment)est très utile et ne peut être ignoré. Néanmoins, il reste une entité "secondaire",d’autant plus que CloudCompare est capable de comparer directement deuxnuages de points, sans avoir besoin de générer un maillage intermédiaire. Lesprincipales raisons à cela sont :

• Les meshes sont généralement très difficiles à générer correctement sur desscènes réelles, en particulier lors de la numérisation au laser. scanner (bruit,densité variable, etc.)

• et comme les nuages de points ALS / TLS sont généralement très denses(et précis), nous avons déjà toutes les informations dont nous avons besoin

1.2.2 Champs scalairesParmi toutes les « caractéristiques »pouvant être associées à un nuage de

points (couleurs, normales, etc.), on trouve une place particulière dans Cloud-Compare : le champ scalaire 2.

Un champ scalaire est simplement un ensemble de valeurs (une par point -par exemple, la distance de chaque point à une autre entité). Comme chaquevaleur est associé à un point (vertex), il est possible d’afficher ces valeurs sousforme de couleurs (avec des rampes de couleurs personnalisées) ou de les appli-quer filtres sur eux (smooth, gradient, etc.), quelques opérations mathématiquesde base (exp, log, puissance de 2 ou 3, cos, sin, tang, etc.) et bien sûr, segmen-ter le cloud relativement à ces valeurs (seuillage, filtrage statistique local, etc.).CloudCompare peut gérer plusieurs champs scalaires sur le même nuage. Il estmême possible d’appliquer une arithmétique simple opérations (-, +, /, *) entredeux champs scalaires d’un même nuage.

2. scalar field

Page 5: CloudCompare v2.6

1.3. QUELQUES CONSIDÉRATIONS TECHNIQUES 3

1.3 Quelques considérations techniques

1.3.1 PortableCloudCompare est développé en C ++. Il est actuellement compilé sous

Windows, Linux et Mac OS (grâce à CMake) et pour Architectures 32bits et64bits.

1.3.2 Compromis entre stockage et vitesseVoici quelques détails sur les choix techniques effectués dans CloudCompare

(principalement pour atteindre l’objectif de charger le plus de points possiblesans dégrader trop de performances - c’est-à-dire un bon compromis entre sto-ckage et vitesse) :

• toutes les valeurs stockées et la plupart des calculs sont effectués avec desvaleurs à virgule flottante de 32 bits

• pour éviter toute limitation de la taille des tableaux (car il est difficiled’obtenir un gros bloc de mémoire contigu sous Windows 32 bits), nous utilisonsun conteneur personnalisé qui découpe automatiquement les jeux de données enpetits blocs (64 Ko par bloc).

• les vecteurs normaux (le cas échéant) sont compressés sur 16 bits (15 bitsen réalité, en raison du fonctionnement de la quantification 3).

• la structure d’octree spécifique utilisée dans CloudCompare nécessite unemémoire constante par point (c’est-à-dire 8 octets par point). sur un systèmed’exploitation 32 bits - avec une profondeur maximale de 10 - et 12 octets surun système d’exploitation 64 bits - avec une profondeur maximale de 21 !). Il estbasé sur une quantification particulière des coordonnées du point 3D - une sortede schéma d’ordre Morton 4 chaque position de point dans la grille d’octree et àn’importe quel niveau est représentée par un code entier unique. Nous traitonsensuite ces codes pour réaliser des opérations d’interrogation très efficaces avecles voisins les plus proches. Cependant, alors que cet octree La structure est trèsefficace pour calculer les distances, par exemple, elle ne convient pas pour unaffichage rapide (niveau de détail, etc.).

Le résultat des choix ci-dessus est que CloudCompare peut stocker environ 90millions de points vierges par gigaoctet de mémoire. Si vous ajoutez des couleursRVB, des vecteurs normaux, un seul champ scalaire et si vous devez calculerl’octree, vous pouvez charger jusqu’à 32 millions de points par gigaoctet.

Sur un système d’exploitation 64 bits, vous pouvez charger autant de pointsque vous le souhaitez (jusqu’à 4 milliards en fait). Cependant, en fonction devotre les capacités, l’affichage et l’interactivité des cartes graphiques peuventêtre fortement dégradés avec autant de points ;). Avec un haut carte graphique defin, vous pouvez garder un taux de trame raisonnable avec jusqu’à 150 millionsde points.

3. http ://en.wikipedia.org/wiki/Quantization4. http ://en.wikipedia.org/wiki/Z-order_curve

Page 6: CloudCompare v2.6

4 CHAPITRE 1. INTRODUCTION

1.3.3 Évolution récenteLe projet a démarré en 2004 chez EDF R&D, mais il n’a été rendu public

que vers 2009 (en vertu de la Licence GPL). Comme CloudCompare est sur unprojet open-source, tout le monde est libre (et bienvenu) d’étendre ses capacités.N’hésitez pas à poser des questions et à partager vos expériences sur le forum 3et à jeter un coup d’œil à la source Github. dépôt 5.

5. https ://github.com/cloudcompare/trunk

Page 7: CloudCompare v2.6

Chapitre 2

Concepts généraux

2.1 Interface utilisateur graphiqueVoici un aperçu rapide de l’interface utilisateur principale :

1. Les menus• Fichier (ouvrir, enregistrer, quitter, etc.)• Éditer (éditez les entités sélectionnées et leurs caractéristiques - couleurs,

normales, champs scalaires, etc.)• Outils (segmentation, enregistrement, projection, etc.)• Affichage (options liées à l’affichage)• Plugins (plugins chargés)• Vues 3D (gestion des vues 3D)• Aide (à propos, aide, etc.)2. Barre d’outils principale (accès rapide aux principaux outils d’édition et

de traitement : ouvrir / sauvegarder, sélectionner des points, cloner, etc.)

5

Page 8: CloudCompare v2.6

6 CHAPITRE 2. CONCEPTS GÉNÉRAUX

3. Barre d’outils des champs scalaires (accès rapide aux outils relatifs auxchamps scalaires)

4. Barre d’outils des plugins (accès rapide aux plugins actuellement chargés- shaders standard et OpenGL)

5. Barre d’outils View (accès rapide aux outils d’affichage)6. Arborescence de la base de données (pour la sélection et l’activation d’en-

tités et de leurs fonctionnalités)7. Vue Propriétés (informations sur l’entité sélectionnée)8. Vue 3D par défaut9. Une autre vue 3D (créée avec Vues 3D> Nouveau)10. Console

2.1.1 EntitésEntités principales

Nuage de points

Un nuage de points est un ensemble de points 3D non organisés (X, Y, Z).Il peut être associé à :

• une couleur unique pour l’entité entière (RVB)• couleurs par point (RVB)• vecteurs normaux par point (Nx, Ny, Nz)• valeurs scalaires par point (un champ scalaire) - plusieurs champs scalaires

peuvent être associés au même nuage

Maillage

Un maillage est un ensemble de triangles. En interne, les triangles sont re-présentés par des triplets d’indices entiers. Ces index sont relatifs à un nuageassocié (les sommets du maillage–meshvertices). Par conséquent, un maillage« hérite »de toutes les fonctionnalités associées à un nuage de points (voir audessus).

De plus un maillage peut être associé à :• vecteurs normaux par triangle (Nx, Ny, Nz)• matériaux par triangle• texture par triangle coordonne les texturesUn maillage (mesh) standard correspond généralement à un seul objet. Ses

sommets (vertices) sont stockés sous forme de nuage de points (généralement unnuage enfant de l’objet maillé (mesh) dans l’arborescence de la base de données).

Page 9: CloudCompare v2.6

2.1. INTERFACE UTILISATEUR GRAPHIQUE 7

Sous-maillage

Lors de l’importation d’un maillage avec plusieurs pièces (à partir de fichiersOBJ ou FBX par exemple) ou lors de la fusion de plusieurs maillages, Cloud-Compare peut créer des « sous-maillages ». Ils sont des sous-ensembles d’unmaillage principal (et ne peuvent donc être que des enfants de ce mesh parent)..Ils partagent tous le même ensemble de sommets et les mêmes caractéristiques.

Les primitives

Les primitives sont un type particulier de mailles. Ils peuvent être créés avecles méthodes « PrimitiveFactory »ou « Tools > Fit »(ou également importésà partir de formats CAO - par exemple, macros PDMS). Les primitives sontdécrites par des paramètres simples (rayon, hauteur, etc.). Cependant, ils sontassociés à une mosaïque représentation (c’est-à-dire un maillage triangulaireapproprié). De cette façon, ils peuvent être utilisés comme mailles standard(pour le calcul de la distance, etc.).

Remarque : pour certaines primitives (sphères, cylindres, etc.), l’utilisateurpeut modifier la "précision de dessin" (c.-à-d. La quantité de triangles tessellés).

Page 10: CloudCompare v2.6

8 CHAPITRE 2. CONCEPTS GÉNÉRAUX

Polyligne

Une polyligne est un ensemble de points reliés par des segments contigus.La polyligne peut être fermée (c’est-à-dire une boucle) ou non. Par défaut unepolyligne est un objet 3D. Mais ils peuvent aussi être des entités 2D (auquelcas ils seront affichés comme un objet superposé 2D et leurs coordonnées sonttoujours en pixels).

En interne, une polyligne est un ensemble d’index. Ces index sont relatifs àun nuage de points associé (les sommets –vertices de la polyligne). Ses sommetssont stockés sous forme de nuage de points (qui est généralement un enfant del’objet maillé de l’arborescence de base de données).

Pour l’instant, les polylignes n’héritent pas des caractéristiques de leur nuageassocié (couleur, normales, etc.). Cependant, ils peuvent être associé à une seulecouleur (RVB).

Structures associées au nuage de points

Octree

La structure octree est une structure très importante dans CloudCompare.Il est utilisé par la plupart des algorithmes de traitement (calcul de distance,opérateurs spatiaux, etc.). Pour des informations générales sur les structuresoctree, voir http ://en.wikipedia.org/wiki/Octree.

Pour plus d’informations sur la mise en œuvre pratique de la structure octreedans CloudCompare, consultez la section Section « CloudCompare octree ».Capteurs Il existe actuellement deux types de capteurs dans CloudCompare.

Page 11: CloudCompare v2.6

2.1. INTERFACE UTILISATEUR GRAPHIQUE 9

CapteursIl existe actuellement deux types de capteurs dans CloudCompare.

Capteur laser au sol

Les nuages de points acquis grâce à un scanner laser basé au sol (égalementappelé scanner laser terrestre) peuvent être associés à une entité de capteur.C’est une structure contenant des informations sur le capteur (paramètres in-trinsèques et extrinsèques, position et orientation par rapport au nuage, etc.).Il peut être utilisé pour localiser la position du capteur dans la scène 3D, pourafficher le nuage en coordonnées polaires (mode d’affichage «Modes d’affichageBubble View») ou calculer les angles de diffusion, etc.

Les formats propriétaires contiennent généralement ce type d’informations(PTX, FARO, DP, etc.). Ils sont créés automatiquement (comme enfants desnuages chargés) lorsqu’ils sont chargés à partir de tels fichiers. Sinon, les capteurspeuvent être créés « manuellement » :

• avec la méthode « Capteurs Lidar au sol Créer »• ou via un méta-fichier POV

Capteur de caméra projective

Les nuages de points ou les images acquises grâce à une caméra peuvent êtreassociés à une entité de capteur. Ceci est une structure contenant informationssur le capteur (paramètres intrinsèques et extrinsèques, position et orientationpar rapport au nuage, etc.). Il peut être utilisé pour localiser la position ducapteur dans la scène 3D, afficher le nuage comme s’il était visualisé par la ca-méra (voir cliquez sur le bouton « Appliquer »dans les propriétés du capteur),filtrez les points réellement visualisés par cette caméra, etc. Les capteurs decaméra sont créés automatiquement lors du chargement d’images calibrées àpartir d’un fichier .OUT Bundler, par exemple (ou de certains fichiers E57 éga-lement) Ils peuvent également être créés « manuellement »à l’aide de la méthodeSensors\Camera Sensor\Create .

Page 12: CloudCompare v2.6

10 CHAPITRE 2. CONCEPTS GÉNÉRAUX

P.S . : voir aussi l’entité d’image calibrée ci-dessous.

Étiquettes

Les nuages peuvent être associés à des étiquettes. Reportez-vous à la sectionPoint Picking > Labels pour plus d’informations.

Autres entités

Un simple groupe d’autres entités (peut être utilisé pour classer ou regrou-per des entités). Les groupes peuvent être créés en faisant un clic droit surl’arborescence de la BD - voir « Menu contextuel »).

Les images peuvent être chargées à partir de formats de fichier image stan-dard (jpg, bmp, png, etc.) via le mécanisme standard Fichier> Ouvrir.

Elles ne peuvent être affichés dans la vue 3D que sous la forme d’une su-perposition 2D (correspondant aux étendues de la vue 3D). L’utilisateur peutchanger leur transparence afin de visualiser la scène 3D derrière.

Images calibrées

Les images calibrées sont des images standard associées à un capteur « Ca-méra ». Par conséquent, il est possible de définir les paramètres de la caméra etla position de la vue 3D actuelle pour correspondre aux paramètres du capteur.De cette façon le (calibré) l’image peut être affichée au-dessus de la scène 3D(avec une transparence personnalisable).

Les images calibrées peuvent être chargées à partir de fichiers .OUT Bundlerou de fichiers E57. Ils peuvent aussi être chargés grâce à ICM méta-fichiers.

Page 13: CloudCompare v2.6

2.1. INTERFACE UTILISATEUR GRAPHIQUE 11

Image calibrée superposée sur un nuage

Fenêtre d’affichage

La « fenêtre d’affichage »de la vue 3D actuelle peut être enregistrée à toutmoment avec la méthode Affichage > Enregistrer la fenêtre en tant qu’ob-jet !. La fenêtre correspondante peut être restaurée ultérieurement grâce à cetteentité.

Remarque : cette entité ne peut être enregistrée que dans des fichiers BIN.

Type d’étiquette 2D

Un type d’étiquette spécial appelé «étiquette de zone 2D» peut être créé avecl’outil Point Picking. Il a beaucoup de traits communs avec l’entité ’Viewport’.Et comme cette entité, il ne peut être enregistré que dans des fichiers BIN.

Page 14: CloudCompare v2.6

12 CHAPITRE 2. CONCEPTS GÉNÉRAUX

2.1.2 Arbre de base de données

Les entités chargées sont toutes stockées dans l’arborescence de la base dedonnées 1 (par défaut à gauche). Certaines entités peuvent dépendre d’autres(telles que maillage (mesh) et ses sommets–vertices–) ou peuvent également êtreregroupés (en entités du groupe arbre hiérarchique. ).C’est pourquoi la base dedonnées est affichée sous forme d’arborescence hiérarchique.

Glisser déposer

La plupart des entités peuvent être glissées et déposées dans l’arborescencede la base de données (afin de les regrouper généralement). Entités dépendantd’autres sont toutefois généralement liés à leur « parent » (étiquettes, sommets,etc.).

Sélection

Les entités peuvent être sélectionnées directement dans une vue 3D (en cli-quant dessus) ou en cliquant sur l’entrée correspondante dans l’arborescence dela base de données (qui est généralement plus rapide et non ambiguë).

Plusieurs entités peuvent être sélectionnées à la fois en maintenant les touchesCTRL ou SHIFT enfoncées et en les sélectionnant dans la base de données.

De manière équivalente, l’utilisateur peut sélectionner plusieurs entités enmaintenant la touche CTRL enfoncée et en cliquant sur les entités dans les vues3D. Une autre option consiste à maintenir la touche ALT enfoncée et à dessinerun rectangle dans une vue 3D. De cette façon, toutes les entités tombant aumoins une partie du rectangle sera sélectionnée :

1. DB tree

Page 15: CloudCompare v2.6

2.1. INTERFACE UTILISATEUR GRAPHIQUE 13

Sélection dans un rectangle (maintenez la touche Alt enfoncée tout en dessinant le rectangle avecle bouton gauche de la souris enfoncé)

Menu contextuel

Un menu contextuel peut être créé en cliquant sur un élément de l’arbo-rescence de la base de données avec le bouton droit de la souris. Son contenudépend du type de l’élément.

Menu contextuel (pour un nuage)

Les éléments les plus remarquables sont :• Sur toutes les entités :o Information (récursive) : affiche des informations sur l’entité sélectionnée et

tous ses frères et soeurs (dans une manière récursive). Généralement, le nombretotal de points, triangles, normales, etc.

Page 16: CloudCompare v2.6

14 CHAPITRE 2. CONCEPTS GÉNÉRAUX

o Toggle (visibilité, couleur, etc.) : pour basculer une propriété donnée desentités sélectionnées

o Supprimer (Delete) : pour supprimer les entités sélectionnéeso Ajouter un groupe vide : pour ajouter un groupe vide en tant qu’enfant de

l’entité sélectionnée ( peut également être appelé à Zone d’arrière-plan de l’arbo-rescence de base de données pour créer un groupe à la racine de l’arborescence)

o Développer/Réduire la branche (Expand/Collapse branch)o Trier les frères et soeurs (par noms (A à Z) ou (Z-A) ou par type) : pour

trier les frères et soeurs (si l’entité possède plusieurs) enfants)• Seulement sur les capteurs :o Bubble-view : pour activer le mode « Bubble-view (polar) ».• Uniquement sur les entités planaires (étiquettes, plans et facettes «3 points») :o Aligner la caméra (inverse ou non) : pour que la caméra de la vue 3D

actuelle fasse face à cet élément plan (un côté ou un autre). La transformationcorrespondante est également sortie dans la console.

Propriétés de l’entité

Lorsqu’une seule entité est sélectionnée, ses propriétés sont accessibles dansla boîte de dialogue Properties (située à gauche sous la base de données –arborescence par défaut).

La plupart des propriétés d’affichage des entités peuvent être définies viacette boîte de dialogue :

• visibilité de l’entité• visibilité de ses caractéristiques (couleurs, normales, etc.)• la vue 3D actuelle dans laquelle l’entité est affichée (liste ‘Current Display’)• le champ scalaire actif et ses paramètres d’affichage (échelle de couleurs

actuelle, affichage ou non dans le voir et comment, etc.)• etc.

Page 17: CloudCompare v2.6

2.1. INTERFACE UTILISATEUR GRAPHIQUE 15

D’autres paramètres peuvent être modifiés tels que• « Fil de fer » ou « pointillé » – une sorte de fausse transparence – modes

pour un maillage par exemple• paramètres de primitives• etc.Et bien sûr diverses informations :• Centre et limites de la boîte englobante• le nombre de points ou de triangles• le « changement global et échelle »• méta-données associées• etc.Il y a même parfois des boutons d’action (pour les entités de fenêtre ou de

capteur, par exemple).

Editeur de paramètres d’affichage de champ scalaire

Dans la boîte de dialogue Propriétés, vous pouvez trouver un éditeur trèsspécifique à CloudCompare sur les nuages et les entités avec un champ scalaireactif :

Editeur de paramètres de champ scalaire

Cet éditeur permet à l’utilisateur de définir de manière très concise la plupartdes paramètres d’affichage du champ scalaire actif (en plus pour obtenir unaperçu rapide de l’histogramme du champ scalaire) :

• utilisez les cercles blancs gauche et droit pour définir les valeurs scalairesmin et max affichées. Au-dessous et au-dessus de ceux les points apparaissent engris ou n’apparaissent pas du tout (en fonction du paramètre afficher NaN/outdes valeurs de plage en gris accessible dans l’onglet Parameters). De cette façon,l’utilisateur peut rapidement masquer des points avec des valeurs en dehors d’unintervalle donné, afin de se concentrer sur les autres points par exemple.

Page 18: CloudCompare v2.6

16 CHAPITRE 2. CONCEPTS GÉNÉRAUX

• utilisez les flèches rouge et bleue pour définir les valeurs de saturation mi-nimale et maximale (pour définir le début et la fin de la lecture). Échelles de cou-leurs « relatives »– voir Champs scalaires> Gestionnaire d’échelles de couleurs)

• définir des paramètres supplémentaires avec l’onglet Parameters (log ouéchelle symétrique, etc.)

2.1.3 Formats de fichiers pris en charge

Page 19: CloudCompare v2.6

2.1. INTERFACE UTILISATEUR GRAPHIQUE 17

2.1.4 Modes d’affichage

Les entités 3D peuvent être affichées dans une ou plusieurs vues 3D. Plusieursmodes d’affichage peuvent être définis dans chaque vue 3D.

Modes d’affichage principaux

Les modes orthonormés et perspectives peuvent être activés à tout momentgrâce à l’icône « Set current view mode »(Définir le mode de visualisation actuel)dans le menu déroulant. barre d’outils de gauche :

Page 20: CloudCompare v2.6

18 CHAPITRE 2. CONCEPTS GÉNÉRAUX

Vue orthonormée

C’est le mode de visualisation par défaut. C’est une projection parallèle(c’est-à-dire que les lignes parallèles ne se croisent jamais). Voir http ://en.wikipedia.org/wiki/Projection_Orthrographiquepour un peu de théorie.

Remarque : dans ce mode, une échelle de blanc est affichée (dans le coininférieur droit de la vue 3D). Sa dimension actuelle dans le Le système decoordonnées actuel est affiché ci-dessous.

Vue en perspectiveThe perspective projection consists in projecting a 3D scene on a 2D plane as

if it was seen by the human eye (or a single camera). La projection en perspectiveconsiste à projeter une scène 3D sur un plan 2D comme si elle était vue par l’œilhumain (ou un seul caméra).

Le paramètre principal de ce mode est le champ de vision (f.o.v.). Vouspouvez le modifier via les « Camera settings »(Paramètres de l’appareil photo).

Page 21: CloudCompare v2.6

2.1. INTERFACE UTILISATEUR GRAPHIQUE 19

Voir :http://en.wikipedia.org/wiki/Perspective_%28graphical%29pour un peu de théorie.

Remarques : dans ce mode, aucune échelle n’est affichée car la «largeur»dépend de la profondeur réelle de chaque pixel.

Il existe deux types de modes de perspective dans CloudCompare.

perspective centrée sur l’objet

En mode « object-centered perspective »(perspective centrée sur l’objet),l’objet pivote lorsque l’utilisateur déplace la souris tout en appuyant sur lagauche bouton (l’orientation de la caméra est fixe). Utilisez la molette de lasouris pour rapprocher ou rapprocher l’objet du sujet. point de vue.

Remarque : ce mode peut être basculé avec le raccourci ’F3’.

perspective basée sur le spectateur

Dans le mode « viewer-based perspective »(perspective basée sur le specta-teur), la caméra pivote lorsque l’utilisateur déplace la souris tout en appuyantà gauche. bouton. Et en utilisant la molette de la souris, la caméra avance ourecule dans la direction de visualisation actuelle.

Remarque : ce mode peut être activé avec le raccourci ’F4’.

Page 22: CloudCompare v2.6

20 CHAPITRE 2. CONCEPTS GÉNÉRAUX

Bubble-view (polaire)Ce mode de visualisation ne peut être activé correctement que via une entité

« GBL sensor »(capteur GBL). Ils sont généralement associés aux nuages depoints provenant de fichiers propriétaires (PTX, FARO, DP, etc.).

Pour l’activer, parcourez simplement les propriétés de l’entité du capteuret cliquez sur le bouton « Apply »(Appliquer) (l’élément « Apply viewport »–Appliquer à la fenêtre d’affichage–). Dans ce mode, la position de la caméra estfixe (normalement au centre du capteur) et l’utilisateur ne peut la faire pivoter(avec bouton gauche de la souris) ou changez le zoom (avec la molette de lasouris).

Remarque : en fait, le zoom s’obtient simplement en modifiant le champ devision de la caméra (f.o.v.). Par conséquent, une distorsion optique élevée peutse produire après un certain point.

Scan FARO visualisé en mode « bulle »

Pour quitter ce mode, l’utilisateur doit cliquer sur le bouton dans le coinsupérieur gauche de la vue 3D.

Remarque : le raccourci B peut être utilisé pour entrer cette méthode.

2.1.5 Changement global et échelleIntroduction

Lors du chargement (ou de la génération) d’une entité avec de très grandescoordonnées (généralement supérieures à 105), CloudCompare avertira l’utili-sateur à ce sujet et suggère de déplacer (ou de redimensionner) l’entité afin detravailler dans un système de coordonnées local avec des valeurs de plus petites.coordonnées :

Page 23: CloudCompare v2.6

2.1. INTERFACE UTILISATEUR GRAPHIQUE 21

CloudCompare suggérera à l’utilisateur de déplacer le nuage si ses coordonnées d’origine sont tropgrandes

Il est fortement conseillé de déplacer ou de mettre à l’échelle lesentités dans ce cas.

Mais pourquoi ?

Cela est dû au fait que CloudCompare et OpenGL fonctionnent avec desvaleurs float de 32 bits. Cela permet une augmentation de vitesse et un gain demémoire de 50

Cependant, la représentation 32 bits a une résolution limitée (précision).Sans entrer dans trop de détails ici, on peut dire que plus le nombre est grand,moins le nombre de décimales peut être stocké. En règle générale, la précision«relative» (c’est-à-dire que la plus petite quantité pouvant être représentée parrapport à la valeur maximale) se situe approximativement entre 10−7 et 10−8.

C’est généralement plus que suffisant pour les nuages de points de la vieréelle exprimés dans le système de coordonnées du scanner (par exemple, pourune Sur une plage de 100 mètres, la précision de la représentation des donnéessera d’environ 10−5 ou 10−6 m = 1 à 10 microns).

Toutefois, si le nuage est exprimé dans un système de coordonnées géo-référencé, les coordonnées du point peuvent être très grandes. (typiquementenviron 106). Dans ce cas, la précision de la représentation des données augmentejusqu’à 1 ou 10 cm !

C’est pourquoi il est très important de « shift »(décaler) les points lors duchargement du fichier dans CloudCompare. Sinon l’original la précision seraperdue.

CloudCompare stocke les valeurs de décalage et d’échelle sous forme de méta-données et (tente de) les conserver tout au long de la vie de l’entité. Finale-ment, lorsque l’utilisateur enregistre l’entité, CloudCompare restaurele système de coordonnées original ( si le résultat format de fichier permetle stockage de valeurs 64 bits).

Page 24: CloudCompare v2.6

22 CHAPITRE 2. CONCEPTS GÉNÉRAUX

Mathématiques

Le décalage global et l’échelle globale codent la transformation entre le sys-tème de coordonnées original (global) et de l’entité etdu système de travail local.

Soit T (x, y, z) le décalage global (translation), S la balance globale et P unpoint 3D, puis :

Plocal = (Pglobal + T ) ∗ Sou l’équivalent :

Pglobal = Plocal/S − T

Propriétés

Les valeurs de décalage et d’échelle sont affichées dans les propriétés del’entité (si l’entité le permet) :

Édition

A tout moment, l’utilisateur peut éditer les valeurs de décalage et d’échelleassociées à une entité donnée. Voir dans le menu l’outil :

Edit>Edit global shift and scale(Edition>Edit Global Shift et échelle).

Bookmarks (Signets)

Par défaut, CloudCompare essaie de deviner automatiquement le meilleurvecteur de décalage (généralement lors du chargement d’un fichier, CloudCom-pare). utilisera les toutes premières coordonnées du point comme quantité dedécalage). Mais l’utilisateur est libre d’entrer les valeurs de décalage et d’échelle(surtout si on travaille avec plusieurs nuages et veut travailler dans un systèmede coordonnées local particulier).

Une fois qu’un premier décalage ou échelle ont été utilisés, CloudCompareva :

• utilisez-le pour les prochains nuages si cela fonctionne pour eux aussi• laissez l’utilisateur le rappeler quel que soit le cas grâce au menu déroulant

situé au milieu (juste au-dessus du bouton « Shift »pour voir le champs de laLast input –dernière entrée–)

Cependant, ces informations ne seront stockées que pendant la session ac-tive de CloudCompare (elles seront perdues une fois que vous aurez fermé leprogramme). Afin de garder les informations persistantes, vous pouvez éditer le

Page 25: CloudCompare v2.6

2.1. INTERFACE UTILISATEUR GRAPHIQUE 23

fichier global_shift_list_template.txt à côté de CloudCompare est exécutable etsuivez les instructions à l’intérieur. C’est un bon moyen de stocker ensemblesdes informations dechangements persistants ou d’échelle, (type de « bookmarks(signets) ».

Page 26: CloudCompare v2.6

24 CHAPITRE 2. CONCEPTS GÉNÉRAUX

Page 27: CloudCompare v2.6

Chapitre 3

Tutorials andguidelines–Tutoriels etdirectives

3.1 Alignement et enregistrement3.1.1 Considérations généralesAvez-vous dit mesh (maille) ?

(ignorez cette partie si vous ne travaillez pas avec des mailles triangulaires)

Comme souvent avec CloudCompare, les maillages seront généralement consi-dérés comme des nuages, en considérant uniquement leurs vertices (sommets) oupar points de prélèvement sur la surface du maillage. Par exemple, vous pouvezappeler l’outil « Fine registration tool (ICP) »(d’inscription fine (ICP)) directe-ment sur un mesh. Mais en coulisse, CC échantillonnera automatiquement despoints sur ce mesh afin de l’utiliser pour l’enregistrement ICP.

Il n’ya qu’une exception notable : l’outil d’alignement basé sur la paire depoints peut désormais être utilisé directement sur des meshes (lorsque l’utilisa-teur clique sur un triangle, CloudCompare déterminera le point d’intersectionréel sur la surface du triangle).

Au lieu de laisser CloudCompare choisir, vous pouvez bien sûr effectuer cetteconversion vous-même :

• au lieu de sélectionner l’entité de maillage, vous pouvez simplement sé-lectionner ses « vertices »(sommets) (un nuage de points nommé « vertices »-généralement un enfant de l’entité maillée de l’arborescence de la base de don-nées). Dans ce cas, vous pouvez « masquer (hide) »l’entité maillée (décochez lacase « visible »dans les propriétés du maillage) et affiche plutôt ses sommets(cochez la case « visible »équivalente dans les propriétés du nuage « vertices »).Comme les « mesh vertices »sont généralement assez clairsemés, vous pouvez

25

Page 28: CloudCompare v2.6

26CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

également augmenter la taille des points (les interacteurs (interactors) - / + quiapparaissent lorsque vous passez la souris dans le coin supérieur gauche d’unevue 3D).

• vous pouvez également échantillonner des points sur le mesh (vous aurezainsi plus de contrôle sur ce processus) et utiliser le nuage échantillonné (sampledcloud) à la place du maillage. Dans le cas particulier de l’enregistrement, si voussouhaitez appliquer le résultat à la transformation en mesh d’origine, reportez-vous à la section suivante.

Matrices de transformation rigides

(sautez cette partie si vous détestez vraiment les maths – sinon cela pourrait vous donner desindices intéressants.)

Presque toutes les méthodes présentées ci-dessous sont en fait différentes ma-nières de produire une transformation rigide (matrix–matrice–) pour créer uneentité qui se déplace relativement par rapport à une autre (voir« Apply Transfor-mation »–Appliquer une transformation–). Quel que soit l’outil d’enregistrementque vous utilisez, CloudCompare émettra toujours la matrice (matrix) de trans-formation résultante dans la console. Cela permet à l’utilisateur de l’appliquer– ou son inverse – à toute autre entité.

Faire pour cela :• Commencez par copier la matrice (matrix) à partir de la console (généra-

lement avec le raccourci CTRL + C sous Windows).• puis sélectionnez l’entité que vous souhaitez déplacer, appelez l’outil « Edit

> Apply Transformation »(Edition> Appliquer la transformation)• coller la matrice 4x4 dans le premier onglet. Vous pouvez utiliser le rac-

courci dédié (par exemple, CTRL + V sous Windows) ou le bouton « presse-papiers (cipboard) »(CloudCompare devrait automatiquement supprimer le pré-fixe de bloc - [temps entre parenthèses])

• vous pouvez même appliquer la transformation inverse en cochant la casecorrespondante (par exemple, pour revenir à la position précédente de l’entité)Dialogue « Apply transformation (Appliquer la transformation) ».

« Apply transformation »

Page 29: CloudCompare v2.6

3.1. ALIGNEMENT ET ENREGISTREMENT 27

Cette astuce peut être très utile pour effectuer l’enregistrement sur une pe-tite partie d’un nuage (que vous auriez segmenté au préalable - généralementavec l’outil « Interactive Transformation (Transformation interactive) ». En-suite, vous pouvez appliquer la même transformation à la tout le nuage ensuiteou vers une autre entité (maillage, etc.). Voir la « Alternative method for registe-ring partially overlapping clouds »(Méthode alternative de chevauchement pourenregistrer partiellement un cloud) de la section des cloud (nuages de points)ci-dessous.

3.1.2 AlignementCloudCompare propose différentes méthodes pour aligner de manière ap-

proximative ou fine les nuages de points ou les meshes.

Correspondre aux centres de la boîte

Le plus simple est la méthode d’appariement des centres du cadre de sé-lection. Sélectionnez simplement deux entités (ou plus), puis appelez « Tool >Registration > Match bounding-box centers »(Outil> Enregistrement> Fairecorrespondre les centres de la boîte englobante) (effet immédiat, pas de dia-logue). Il centrera toutes les entités sélectionnées sur leur centre de gravité res-pectif. C’est clairement une approche très simple (elle ne peut que transtaterdes entités, et non les faire pivoter). Cependant, cela peut vous faire économiserquelques clics.

Transformation manuelle

Il est possible de déplacer de manière interactive avec la souris une ou plu-sieurs entités (par rapport à d’autres entités). Voir le « Edit > Translate /Rotate (Interactive Transformation Tool) »(Edition > Translation / faire unerotation –Outil de transformation interactif–)

« Rotation/Translation »tool in action

Page 30: CloudCompare v2.6

28CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Picking (equivalent) point pairs

L’outil « Align (point pairs picking »–Align (sélection de paires de points)–est un autre outil puissant mais simple permettant d’aligner deux entités. Il per-met à l’utilisateur de choisir plusieurs paires de points équivalents dans chaquenuage afin de les enregistrer. Bien que le processus soit manuel, il peut êtrerelativement rapide et assez précis (surtout si les sphères d’enregistrement sontprésentes dans les deux nuages, car cet outil est maintenant capable de détecterleur centre automatiquement).

Procédure d’alignement standard (sans sphères)

3.1.3 Enregistrement automatiqueEnregistrement précis avec ICP

Pour l’instant, la seule méthode automatique pour enregistrer très finementdeux entités est le bien connu point de proximité le plus proche (ICP) algo-rithme 1. Voir la section « Registration > Fine registration (ICP) »(Enregistre-ment> Enregistrement précis (ICP)).

1. http ://en.wikipedia.org/wiki/Iterative_closest_point

Page 31: CloudCompare v2.6

3.2. CALCUL DES DISTANCES 29

Méthode alternative pour enregistrer des nuages se chevauchant par-tiellement

Voici une ancienne méthode d’enregistrement de deux nuages se chevauchantpartiellement (c’est-à-dire avant la version 2.6.1 et son ‘recouvrement final’).paramètre).

Préparation

• Commencez par enregistrer grossièrement les deux nuages (avec l’outil« Rotate/Translate »(Rotation / Translation) par exemple).

Remarque : si vous ne savez pas déjà quel nuage sera le nuage «data» (celui qui se déplacera) etquel sera le nuage Nuage «modèle» (celui qui ne bouge pas) alors vous devriez choisir le plus densecomme modèle (référence)

Création d’un sous-ensemble du nuage de données

• cloner le nuage de données et masquer celui d’origine• sélectionnez la nouvelle version du nuage de données et utilisez l’outil de

« Interactive Segmentation »(segmentation interactive) pour ne conserver queles points de chevauchement clair avec le nuage de points modèle

Enregistrez le nuage « données »(sous-ensemble) avec le nuage depoints modèle

• appliquer l’algorithme ICP (Fine Registration) au sous-ensemble de nuagesde données et au nuage de points « modèle »

• Une fois cela fait, CloudCompare affichera la matrice de transformationrésultante dans la console.

• copier cette transformation (CTRL + C sous Windows)

Appliquer la transformation rigide au nuage de données d’origine

• rendre le nuage de données d’origine à nouveau visible et le sélectionner• lancer l’outil « Edit > Apply Transformation »(Edition> Appliquer la

transformation)• coller la transformation (CTRL + V sous Windows) dans le premier onglet• cliquez sur le bouton ’OK’

C’est tout !

3.2 Calcul des distancesCette section décrit le type de distances pouvant être calculées avec Cloud-

Compare et comment ces distances sont calculées.Il y a principalement deux types de distances décrites ci-dessous :• soit les distances entre deux nuages de points (cloud-cloud distances –

distances nuage-nuage–)• ou les distances entre un nuage de points et un maillage (cloud-mesh dis-

tance –distances nuage-maillage–)

Page 32: CloudCompare v2.6

30CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Le troisième type de distance qui viendrait naturellement à l’esprit - la dis-tance « mesh-mesh »(maille-maille) - sera traité par CloudCompare en tant quedistance « cloud-mesh »(maillage cloud) : on peut choisir d’utiliser uniquementles mesh vertices (sommets de maillage) pour mesurer les distances. distances(s’ils sont régulièrement et densément échantillonnés à la surface) ou alternati-vement pour échantillonner des points sur la surface maillée. Pour plus d’infor-mations, reportez-vous au didacticiel Comment comparer deux modèles 3D.

3.2.1 Cloud-cloud distancesLes distances nuage-nuage (Cloud-cloud distances peuvent être calculées en

sélectionnant deux nuages de points, puis en cliquant sur le bouton « Cloud-to-Cloud Distance computation »(calcul de la distance to-Cloud) pour plus d’in-formations.

La méthode par défaut pour calculer les distances entre deux nuages depoints est la « nearest neighbor distance »(distance du voisin le plus proche) :pour chaque point du nuage comparé, CloudCompare recherche le point le plusproche dans le nuage de référence et en calcule la distance (Euclidien). Celacorrespond au cas (par défaut) où le modèle local est défini sur « NONE ».

Modélisation locale

Si le nuage du point de référence est suffisamment dense, approximer la dis-tance entre le nuage comparé et la surface sous-jacente représentée par le nuagede référence est acceptable. Mais si le nuage de référence n’est pas assez dense,la plus proche distance du voisin n’est parfois pas assez précise. Par conséquent,il peut être nécessaire d’obtenir un meilleur modèle de la surface. Bien sûr, sion peut obtenir facilement un modèle global de la surface, il est beaucoup plussimple et potentiellement plus précis de calculez directement la distance entrele nuage comparé et ce modèle (voir la section « Cloud-mesh distances »(Dis-tances maille-nuage)ci-dessous). Mais il n’est généralement pas si facile d’obtenir

Page 33: CloudCompare v2.6

3.2. CALCUL DES DISTANCES 31

un modèle global propre et approprié. Par conséquent, CloudCompare fournitun moyen intermédiaire pour obtenir une meilleure approximation de la distanceréelle à la surface de référence. Pas aussi précis qu’un vrai modèle global, maisbeaucoup plus facile à calculer.

Lorsque CloudCompare a déterminé le point le plus proche dans le nuage deréférence, l’idée est de modéliser localement nuage de référence (sous-jacent) enajustant un modèle mathématique sur le point « le plus proche »et plusieurs deses voisins. le la distance entre chaque point du nuage comparé et son point leplus proche dans le nuage de référence est remplacée par la distance à ce mo-dèle. C’est statistiquement plus précis et moins dépendant de l’échantillonnagedes nuages (il peut produire localement d’étranges résultats – car la phase demodélisation est très limitée– mais donne de bien meilleurs résultats à l’échellemondiale).

Avec la dernière version de CloudCompare, l’utilisateur peut entièrementconfigurer la manière dont le travail est effectué en choisissant :

• le modèle mathématique : soit le meilleur plan de moindre ajustement, soitune triangulation 2D1/2 de Delaunay, soit un fonction de hauteur quadratique(cette dernière étant la plus précise mais aussi la plus longue à calculer)

• la façon dont les voisins sont extraits autour de chaque point « e plusproche »du nuage de référence (soit en définissant un nombre fixe de voisins, ouen fournissant le rayon d’un voisinage sphérique)

Page 34: CloudCompare v2.6

32CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

• et finalement on peut choisir d’appliquer une approximation de ce schémaen partageant le même modèle local avec plusieurs points du nuage de référenceau lieu de calculer un nouveau modèle pour chacun. Le processus est beau-coup plus rapide de cette façon (surtout pour les grands quartiers) mais aussibeaucoup plus bruyant.

Résultat sans (à gauche) et avec modélisation locale (à droite). Notez que la distance maximale nechange pas lorsque la partie inférieure de l’histogramme est clairement définie. décalé vers zéro.

Considérations générales

Lorsque vous comparez directement deux nuages de points (surtout sansmodèle), voici quelques "indications" :

• assurez-vous que les étendues nuageuses de référence sont plus larges quecelles du nuage comparé (pour éviter des distances sur les limites). Plus géné-ralement, essayez de vous assurer que le nuage de référence chevauche toujoursle un comparé (cela vaut également pour les distances nuage-maillage).

• essayez toujours d’obtenir la densité la plus élevée possible pour le nuagede référence (car cela modifiera directement les résultats). précision)

• Si le nuage de référence est très bruyant, envisagez d’utiliser le modèle deplan optimal le mieux ajusté (qui est plus robuste au bruit). Au contraire, sile nuage de référence est propre mais à forte courbure, envisagez d’utiliser lefonction de hauteur quadratique.

Autres options

CloudCompare peut fractionner les distances calculées le long des 3 dimen-sions principales (X, Y et Z). Si le « split X, Y and Z components »(scinder lescomposants X, Y et Z), si la case des composants est cochée, CloudComparegénérera 3 champs scalaires supplémentaires, activés pour chaque axe.

3.2.2 Distances nuage-mailleLes distances maille-nuage (Cloud-mesh distances) peuvent être calculées en

sélectionnant un nuage de points et un maillage, puis en cliquant sur le bouton

Page 35: CloudCompare v2.6

3.3. COMMENT COMPARER DEUX ENTITÉS 3D 33

reportez-vous à la section « Cloud-to-Mesh Distance computation »(Calculdistance de maillage) pour plus d’informations.

Dans ce mode, CloudCompare recherchera simplement pour chaque pointdu nuage comparé dans le triangle maille de référence. Comme les maillagesfournissent généralement (indirectement) une information secondaire s(on peutdéterminer ce qui est à l’intérieur et en dehors de la maille en regardant lanormale du triangle), les distances nuage-maillage peuvent être signées compor-tement).

L’utilisateur peut choisir d’ignorer les informations normales (en décochantla case « signed distances »(distances signées) ou d’invertir (avec la case à cocher« flip normals »–retourner les normales–).

3.3 Comment comparer deux entités 3D3.3.1 Charger des données

Ouvrez les deux entités 3D que vous souhaitez comparer avec le bouton « File> Open »(Fichier> Ouvrir) entrée de menu.

Ces deux entités peuvent être :

• 2 nuages de points• 2 modèles (mailles triangulaires uniquement - voir la section «Formats pris

en charge»)• ou un de chaque

3.3.2 Préparation des donnéesMise à l’échelle des entités

(Si les deux entités ont déjà la même échelle, vous pouvez ignorer cette étape)

Page 36: CloudCompare v2.6

34CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

• choisissez d’abord un élément précis, visible dans les deux entités : bord,corniche, ligne ou tout autre élément rectiligne. Si vous ne trouvez pas un telélément, choisissez deux points /vertices spécifiques clairement visibles dans lesdeux entités : croisement de deux lignes ou courbes, coin, etc. • puis mesurezla longueur de cet élément (ou la distance entre les deux points spécifiques) surl’entité avec la plus grande échelle. Pour ce faire, utilisez le menu « Tools >Point picking tool »(Outils> Point picking).

Remarque : si vous travaillez avec un modèle (maillage), vous devez d’abordrendre ses sommets visibles (en activant l’entité ’sommets’ dans l’arborescencede la base de données) ou alternativement pour échantillonner des points sur lemaillage - voir la dernière remarque à la fin de ce tutoriel.

Mesure de distance entre deux points

• appelons la distance mesurée Dmax. Notez-le (indice : il sera également affi-ché dans la fenêtre de la console ou vous peut également sauvegarder l’étiquettecorrespondante).

• répéter le processus sur l’autre entité (c’est-à-dire celle dont l’échelle estplus petite). Appelons la distance résultante Dmin.

• calculer le facteur d’échelle Sf = Dmax/Dmin

• cappliquer éventuellement ce facteur de mise à l’échelle sur la plus petiteentité avec l’outil « Edit > Multiply / Scale »–Edition> Multiplier/Echelle–(utilisez le facteur Sf pour toutes les dimensions).

Remarque : à l’inverse, vous pouvez réduire le modèle avec la plus grandeéchelle en lui appliquant le facteur inverse.

Page 37: CloudCompare v2.6

3.3. COMMENT COMPARER DEUX ENTITÉS 3D 35

Enregistrer grossièrement les entités

(Vous pouvez ignorer cette étape si les deux modèles sont déjà grossièrement enregistrés)

• tout d’abord, si les entités sont éloignées les unes des autres, sélectionnez-les et utilisez le menu "Outils> Enregistrement> Cadre de sélection" méthodedes centres (pour faire correspondre leurs centres de gravité).

• puis sélectionnez l’une des deux entités (idéalement celle qui doit bouger)• éventuellement à l’aide de «Translate / Rotate (Interactive Transformation

Tool ) »–Translation / faire pivoter (Outil de transformation interactive)–.faire pivoter et traduire l’entité afin de superposer (roughly grossièrement) lesdeux entités.

Enregistrement manuel de deux entités avec l’outil « Rotate/Translate ».

Enregistrer finement les entités

(Vous pouvez ignorer cette étape si les deux entités sont déjà finement enregistrées)

• affiner et terminer l’enregistrement des deux entités avec au moins l’option« Registration > Align (point pairs picking) »tool –Enregistrement> Aligner(sélection de paires de points)– et, idéalement, « Registration > Fine registration

(ICP) »tool –enregistrement> enregistrement précis (ICP)–

Page 38: CloudCompare v2.6

36CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Enregistrement automatique de deux entités avec l’outil « Register »(ICP)

3.3.3 Comparaison de donnéesVous pouvez maintenant calculer les distances entre les deux entités.Sélectionnez les deux et choisissez l’outil de calcul de distance approprié :• pour la comparaison nuage/nuage, utilisez la commande « Distances >

Cloud/Cloud dist. (cloud-to-cloud distance »–Distances> Cloud / Cloud. (dis-tance nuage à nuage)–outil .

• pour la comparaison cloud/modèle, utilisez la commande « Distances >Cloud/Mesh dist. (cloud-to-mesh distance) »Distances> Cloud / Mesh. (dis-tance nuage-maillage) »outil . Attention : dans ce cas, le modèle sera toujoursconsidéré comme la « référence »par CloudCompare. Si vous utilisez le modèleen tant qu’entité « comparée », vous devrez soit sélectionner ses vertices (som-mets) – s’ils sont suffisamment denses – soit par exemples de points sur le modèlecomme suggéré à la fin de ce didacticiel. Finalement, vous devrez effectuer unecomparaison cloud/cloud (voir ci-dessus).

• pour comparer modèle/modèle, utilisez l’option « Distances > Cloud/Meshdist. (cloud-to-mesh distance) »–Distances> Distances Cloud/Mesh. (distancenuage-maillage)–. Attention : dans ce cas, CloudCompare utilisera uniquementles sommets du maillage « Comparé ». S’ils sont trop rares, vous pouvez éga-lement échantillonner des points sur le modèle, comme suggéré à la fin de cedidacticiel.

Page 39: CloudCompare v2.6

3.3. COMMENT COMPARER DEUX ENTITÉS 3D 37

Remarque : en fonction de la taille des entités et de leur étendue spatiale,cette procédure peut prendre de quelques secondes à ... a beaucoup plus detemps. Pour optimiser le processus, essayez d’éviter autant que possible lesgrandes zones ne se chevauchant pas (vous pouvez segmentez manuellementles entités à l’aide de l’outil « Segment (Interactive Segmentation Tool) »–Segment (outil de segmentation interactif)–.

Une fois le calcul terminé, l’échelle de couleur peut être ajustée dans lespropriétés de l’entité comparée afin d’afficher les résultats d’une meilleure façon.

Résultat typique d’un processus de calcul de distance, avec ajustement des paramètres d’affichagede l’échelle de couleurs

Faire face aux sommets maillés clairsemés(Dealing with sparse meshvertices)

Si l’entité comparée est un mesh, CloudCompare calculera uniquement lesdistances entre ses sommets et l’entité de référence. Si ces sommets sont tropclairsemés (c’est-à-dire avec une densité trop faible), vous pouvez commencerpar échantillonner des points sur le maillage. (avec une densité d’échantillonnageélevée). Pour ce faire, utilisez le menu « Edit > Mesh > Sample points » tool(Edition> Maillage> Points d’échantillonnage) comme entité « comparée » aulieu du modèle d’origine.

Page 40: CloudCompare v2.6

38CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

3.4 Outils et algorithmesIci sont décrites toutes les méthodes de CloudCompare dans l’ordre dans lequel elles appa-

raissent dans le menu

3.4.1 OuvrirMenu / Icône

Cet outil est accessible via le menu « File > Open »(Fichier> Ouvrir) oul’icône dans la barre d’outils principale supérieure.

Description

Charge les entités d’un ou plusieurs fichiers.

« File > Load’ dialog »

Procédure

Sélectionnez le bon type de fichier (avec la liste déroulante en regard duchamp Nom du fichier). Sinon, vous pouvez laisser CloudCompare devinez-le àpartir de l’extension de fichier « use the ’All (*.*)’ entry »(utilisez l’entrée ’Tous(*. *)’).

Un fichier contient généralement une ou plusieurs entités (nuages, maillages,etc.). Remarques :

• accès en lecture seule aux fichiers. De plus, une fois les entités chargées,CloudCompare fermera le fichier et « oublie ».

Page 41: CloudCompare v2.6

3.4. OUTILS ET ALGORITHMES 39

• les entités chargées sont automatiquement placées dans un "groupe" dontle nom de fichier est le nom d’entrée. Cependant cela Le groupe n’a pas de lienvers le fichier.

• Vous pouvez également ouvrir les fichiers en les faisant glisser depuis l’ex-plorateur de fichiers et en les déposant dans une vue 3D.

Formats pris en charge

Voir les formats de fichiers pris en charge dans la section « Formats de fichierspris en charge ».

3.4.2 Sauvegarder

Menu / Icône

Cet outil est accessible via le menu « File > Save »(Fichier> Enregistrer) ou

l’icône dans la barre d’outils principale supérieure.

Description

Cet outil permet à l’utilisateur de sauvegarder/exporter une ou plusieursentités dans un fichier.

File > Save’ dialog

Page 42: CloudCompare v2.6

40CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Procédure

Sélectionnez une ou plusieurs entités puis appelez cette méthode.Avertissements :• Veillez à sélectionner le bon type de fichier dans la liste déroulante.• en fonction du nombre et des types d’entités, les types de fichiers dispo-

nibles peuvent changer• certains types de fichiers ne prennent pas en charge les caractères non-

ASCII (accents, caractères non occidentaux, etc.)

Formats pris en charge

Voir les formats de fichiers pris en charge dans la section « Supported fileformats »(Formats de fichiers pris en charge).

3.4.3 Usine à primitiveMenu / Icône

Cet outil est accessible via le menu « File > Primitive factory »’Fichier>

Fabrique à primitive) ou l’icône dans la barre d’outils principale supérieure.

Description

La fabrique de primitives vous permet de créer des objets primitifs (plans,sphères, boîtes, etc.).

File > Primitive factory

Vous pouvez choisir le type de primitive en sélectionnant le bon onglet (Plan,Boîte, Sphère, Cylindre, Cône, Tore et Plat). Pour la primitive sélectionnée,

Page 43: CloudCompare v2.6

3.4. OUTILS ET ALGORITHMES 41

vous pouvez modifier ses paramètres (principalement les dimensions), puis lacréer en cliquant sur le bouton « Create »(Créer). Le processus peut être répétéplusieurs types (vous pouvez également modifier le type primitif) jusqu’à ce quevous fermiez la fabrique avec le bouton « Close »(Fermer).

Remarques :• éventuellement, vous pouvez également définir la précision initiale (c’est-à-

dire la quantité de triangles de la version en mosaïque du primitif). Cependant,ce paramètre peut être librement modifié ultérieurement dans les paramètresprimitifs

• les primitives sont définies par défaut sur les axes principaux (X, Y etZ).Cependant, vous pouvez appliquer un rigide transformation par la suite avec laméthode « Edit> Apply Transformation ».

3.4.4 3D mouse > EnableMenu / Icône

Cet outil est accessible via « File > 3D mouse > Enable »icône .

Description

If a 3Dconnexion device is connected to your PC, you can enable or disableit via this menu entry.

Périphériques 3Dconnexion

Le succès de l’opération doit être signalé dans la console.

Page 44: CloudCompare v2.6

42CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

3.4.5 Fermer toutMenu

Cette méthode est accessible via le fichierClose all : « http : //www.cloudcompare.org/doc/wiki/index.php ? title =

Fichier : menu 3dconnexion_logo.jpg ».

Description

Ferme toutes les entités chargées.Remarque : CloudCompare demandera à l’utilisateur de confirmer cette ac-

tion (si des entités sont chargées).

3.4.6 QuitterMenu

Cette méthode est accessible via le fichierQuit« http ://www.cloudcompare.org/doc/wiki/index.php ?title=File :3dcon-

nexion_logo.jpg »

Description

Quitte l’application.Raccourci clavier : ALT + F4Remarque : CloudCompare demandera à l’utilisateur de confirmer cette ac-

tion (si des entités sont chargées).

3.5 Edit menu (Menu d’édition)3.5.1 CloneMenu / Icône

Cet outil est accessible via le menu « Edit > Clone »ou via l’ icône dansla barre d’outils principale supérieure.

Description

les entités sélectionnées. Toutes les données sont dupliquées.

3.5.2 Merge (Fusionner)Menu / Icône

Cet outil est accessible via le menu « Edit > Merge », ou via l’ icône dansla barre d’outils principale supérieure.

Page 45: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 43

Description

Fusionne deux ou plusieurs entités. Vous pouvez actuellement fusionner desnuages ou des maillages.

Fusion de nuages de points

Avertissement : lors de la fusion de nuages, les nuages d’origine seront sup-primés (vous devrez peut-être d’abord les sauvegarder ou les cloner).

Fusion de meshes

Lors de la fusion de maillages, les maillages d’origine ne sont pas modi-fiés/supprimés. CC créera une nouvelle structure en maillage composite. Dessous-mailles sont également créées pour chaque maillage en entrée, de sorte quela structure d’origine soit préservée (utile lors de la sauvegarde du résultat entant que fichier OBJ).

Fusion de maillages (entrée : groupe « Knee joint »(Articulation du genou) - sortie : entité« Merged mesh »(Maillage fusionné)

Remarque : tous les triangles sont copiés mais ne sont pas réellement fu-sionnés topologiquement (c’est-à-dire qu’ils ne partagent pas les mêmes ver-tices (sommets)). Reportez-vous au plug-in qCork « Boolean Operations onMeshe »(Opérations booléennes sur les maillages) pour le faire.

Page 46: CloudCompare v2.6

44CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

3.5.3 Sous-échantillon (Subsample)Menu / Icône

Cet outil est accessible via le menu « Edit > Subsample »(Edition> Sous-

échantillon) ou via l’ icône dans la barre d’outils principale supérieure.

Description

Sous-échantillonne un nuage de points (c’est-à-dire diminue le nombre depoints).

Plusieurs méthodes de sous-échantillonnage sont disponibles (aléatoire, spa-tiale et octrée).

Remarques :• pour chaque nuage d’entrée, un nouveau nuage sous-échantillonné est créé

(le nuage d’origine est simplement désactivé)• un nuage sous-échantillonné est un sous-ensemble du nuage d’entrée (les

points d’origine ne sont pas déplacés)• grâce à cela, un nuage sous-échantillonné conserve les caractéristiques de

son nuage source (champs scalaires, couleurs, normales, etc.)

Procédure

Sélectionnez un ou plusieurs nuages puis lancez l’outil.

Dialogue de sous-échantillonnage

Page 47: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 45

Au hasard

En mode « random»(aléatoire), CloudCompare choisira simplement le nombrede points spécifié de manière aléatoire.

Sous-échantillonnage des paramètres « random ».

Spatial

En mode "spatial", l’utilisateur doit définir une distance minimale entre deuxpoints. CloudCompare va ensuite choisir des points parmi le nuage d’origine desorte qu’aucun point dans le nuage de sortie ne soit plus proche d’un autre pointque la valeur spécifiée. Le plus gros cette valeur est, moins le point sera conservé.

Utiliser la SF (scalar field) active (option)

Depuis la version 2.6.1., Au lieu de spécifier une valeur unique pour le modede sous-échantillonnage spatial, l’utilisateur peut utiliser la champ scalaire (sca-lar field) actif afin de moduler la distance d’échantillonnage avec les valeursscalaires. L’utilisateur doit spécifier la distance d’échantillonnage correspondantaux valeurs scalaires minimale et maximale et CC effectuera une interpolationlinéaire de la valeur de la distance spatiale.

Par exemple, si le nuage est associé à un champ scalaire « courbure », vouspouvez demander à CloudCompare d’échantillonner plus de points dans unezones courbes et moins de points dans les plans :

Page 48: CloudCompare v2.6

46CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Sous-échantillonnage de paramètres « spatiaux »basés sur les valeurs du champ scalaire actif

À gauche : nuage d’origine avec un champ scalaire proportionnel à la courbure locale –à droite :sortie d’échantillonnage

Vous pouvez faire la même chose avec un champ scalaire de bruit ou deconfiance, etc.

Octree

Le mode « octree »vous permet de sélectionner un niveau de subdivision del’octree auquel le nuage sera « simplifié ».

Dans chaque cellule de l’octree, le point le plus proche du centre de la celluled’octree est conservé.

Remarques :• plus le niveau est élevé, plus les cellules sont petites (donc plus vous gar-

derez de points)• le niveau d’octree maximal est de 10 dans la version 32 bits de CloudCom-

pare et de 21 dans la version 64 bits.

Page 49: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 47

• l’outil diffère de la méthode «Octree > Resample »’Octree> Rééchantillon-nage). L’outil Rééchantillonnage calcule le centre de gravité de la points tombantdans chaque cellule (c’est-à-dire que le nuage créé n’est pas un sous-ensembledu nuage d’origine)

3.5.4 Appliquer la transformation (Apply Transformation)Menu / Icône

Cet outil est accessible via le menu « Edit > Apply transformation »(Edi-tion> Appliquer la transformation).

Description

Cet outil permet à l’utilisateur de transformer (c’est-à-dire de faire pivoteret/ou de translater) les entités sélectionnées. La transformation à appliquer peutêtre appliquée de différentes manières.

Boîte de dialogue « Apply transformation ».

3.5.5 DébutL’utilisateur doit sélectionner une ou plusieurs entités avant de lancer cet

outil. Les entités peuvent concerner n’importe quelle géométrie 3D (nuages,mailles, polylignes, primitives, etc.). Remarque : les entités verrouillées (sous-maillages, etc.) ne peuvent pas être déplacées de cette façon.

3.5.6 ProcédureL’utilisateur a plusieurs choix pour définir la transformation à appliquer

(voir ci-dessous pour plus de détails) :

Page 50: CloudCompare v2.6

48CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

• comme matrice de transformation• la combinaison d’un axe de rotation, d’un angle de rotation et d’un vecteur

de translation• la combinaison des angles d’Euler [1] et d’un vecteur de translationUne case à cocher permet à l’utilisateur de spécifier s’il souhaite appliquer

la transformation actuellement définie ou son inverse ( Appliquer transfor-mation inverse).

Une fois définie, la transformation peut être appliquée en cliquant sur lebouton OK (ou le processus peut être annulé en cliquant sur sur le boutonAnnuler –Cancel button–).

La transformation est appliquée à toutes les entités sélectionnéeset à leurs enfants (de manière récursive). La transformation est ajoutée àl’historique de transformation de chaque entité.

3.5.7 Entrer une transformationMatrice de transformationUne matrice de transformation rigide est une composition d’une rotation

(une matrice 3x3) et d’une translation (un vecteur 3D). Pour commodité, ilpeut s’écrire sous forme de matrice 4x4 (la matrice de rotation correspond à lapartie supérieure des 3 premières colonnes, le vecteur de traduction correspondà la partie supérieure de la 4ème colonne et la ligne du bas est toujours rempliede 3 « zéros »et un « un »).

Dans le premier onglet (« Matrix 4x4 »), l’utilisateur peut saisir directementles valeurs de la matrice ; ou chargez-les à partir d’un fichier texte (chaque lignedu matrice sur une seule ligne, c’est-à-dire 4 valeurs séparées par un carac-tère d’espacement) ; ou éventuellement le coller dans le presse-papiers. Pour Parexemple, la plupart des outils d’enregistrement dans CloudCompare afficherontla transformation finale en tant que matrice 4x4 dans la console. L’utilisateurpeut le copier (avec CTRL + C sous Windows) et le coller ici afin d’appliquerla même transformation à une autre entité.

3.5.8 Axe de rotation et angle + translationLa partie rotation de la transformation peut être entrée sous la forme d’un

seul angle de rotation autour d’un axe 3D. Le deuxième onglet (Axis, Angle)permet à l’utilisateur de saisir ces valeurs (l’angle est en degrés). C’est le moyenle plus rapide d’appliquer des rotations simples autour de X, Y ou Z par exemple.

3.5.9 Angles d’Euler + translationLe troisième onglet (« Euler angles »–Angles d’Euler–) permet à l’utilisateur

de définir la rotation en tant qu’angles d’Euler 2(phi, thêta et psi).

2. http ://en.wikipedia.org/wiki/Euler_angles

Page 51: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 49

3.5.10 Multiplier/Échelle (Multiply/Scale)Menu

Cet outil est accessible via le menu « Edit > Multiply/Scale »(Edition>Multiplier / Echelle).

Description

Cet outil permet à l’utilisateur de redimensionner les entités sélectionnées(nuages, maillages ou polylignes).

Boîte de dialogue « Multiply/Scale ».

CloudCompare multipliera en réalité les coordonnées des entités par desfacteurs définis par l’utilisateur (un par dimension).

Avertissements :• les entités d’entrée sont modifiées directement • à la fin, le zoom de la vue

3D et la position de la caméra ne changeront pas. Donc, en fonction des valeursde mise à l’échelle que vous peut avoir à mettre à jour le zoom actuel (utilisezl’icône de la loupe par exemple)

Procédure

Sélectionnez simplement une ou plusieurs entités puis appelez cet outil.

3.5.11 « Translater / faire pivoter (Outil de transforma-tion interactive) »–Translate / Rotate –interactiveTransformation Tool–

Menu / icône

Cet outil est accessible via l’ icône dans la barre d’outils principalesupérieure ou dans le menu « Edit > Rotate/Translate »(Edition> Rotation /Translater).

Description

Cet outil permet à l’utilisateur de déplacer interactivement les entités sé-lectionnées relativement aux autres (ou de manière équivalente à la système decoordonnées par défaut).

Page 52: CloudCompare v2.6

50CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

« Rotate/Translate »tool in action .

Début

L’utilisateur doit sélectionner une ou plusieurs entités avant de lancer cetoutil. Les entités peuvent être n’importe quelle entité géométrique 3D (nuages,mailles, polylignes, primitives, etc.).

• Notes : les entités verrouillées (sous-maillages, etc.) ne peuvent pas êtredéplacées de cette façon

• seules les entités affichées dans la vue 3D active seront considérées

Procédure

Les interactions standard de la souris avec la vue 3D permettent de modifierla position des entités sélectionnées (au lieu de la caméra actuelle) :

• clic gauche : faire pivoter• clic droit : translaterPauseA tout moment, l’utilisateur peut « suspendre »le mode de transformation

(cliquer sur le bouton « pause »(suspendre) ou appuyer sur la barre d’espace) afinde modifiez la position / l’orientation de la caméra, puis relancez le processus detransformation en « un-pausing »(annulant la pause) (nouveau clic sur le bouton« pause »ou un nouveau hit sur la barre d’espace).

ContraintesDes contraintes peuvent éventuellement être ajoutées à la transformation

appliquée :

Page 53: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 51

• la rotation peut être limitée à un seul axe (X, Y ou Z). Utilisez le menudéroulant pour sélectionner le programme actuel. dimension.

• la translation peut être contrainte à zéro, une ou deux dimensions seule-ment (parmi X, Y et Z). Décochez la dimensions qui doivent être ignorées.

Une fois terminé, utilisez l’icône de validation pour appliquer la transforma-tion ou le bouton Annuler pour la rétablir.

Remarque : lors de la validation, CC générera la transformation appliquéesur la console.

Raccourcis

Certains raccourcis clavier sont disponibles :

3.5.12 Segment (outil de segmentation interactif)

Menu / icône

Cet outil est accessible via l’icône dans la barre d’outils supérieure oudans le menu « Edit > Segment »(Edition> Segment).

Description

Cet outil permet à l’utilisateur de segmenter de manière interactive les en-tités sélectionnées en définissant un polygone 2D (ou un rectangle) à écran. Ceprocessus peut être répété plusieurs fois, en modifiant l’orientation des entitésà chaque fois, de manière à segmenter les entités en 3D. Chaque fois que l’utili-sateur peut décider de conserver les points (ou les triangles) dans ou hors de lafrontière de polygone.

Page 54: CloudCompare v2.6

52CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

« interactive Segmentation »tool in action .

Actuellement, cet outil peut être utilisé pour segmenter des nuages ou desmaillages (voir ci-dessous pour plus d’informations).

Procédure

Sélectionnez une ou plusieurs entités et démarrez l’outil. Une nouvelle barred’outils apparaîtra dans le coin supérieur droit de la vue 3D.

Mode d’édition polygonale

Par défaut, l’outil démarre en mode d’édition « polygonale ». Cela signifieque vous pouvez commencer à dessiner le polygone immédiatement :

• clic gauche : créer un nouveau sommet de polygone• juste après la création du premier sommet, vous verrez que le premier bord

du polygone commencera à "suivre" la souris le curseur. Vous devez définir laposition du deuxième sommet (clic gauche) afin de le "réparer". Ce processus vacommencer avec le bord suivant et ainsi de suite.

• clic droit : arrêter l’édition du polygone (avertissement : le sommet ’flot-tant’ ne sera pas ajouté au polygone)

Mode d’édition rectangle

Vous pouvez passer du mode « édition Polygon »au mode « Rectangle edi-tion »(édition Rectangle) en cliquant sur la flèche vers le bas à côté de l’ icône« polygone » :

Page 55: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 53

En mode « Édition Rectangle », vous devez cliquer une première fois pourdéfinir le premier coin du rectangle, puis cliquer sur deuxième fois pour définirle coin opposé (vous pouvez également maintenir le bouton gauche de la sourisenfoncé et le bouton opposé le coin sera créé une fois que vous relâchez le bouton)

Segmentation

Une fois que l’édition polygone / rectangle est terminée, si l’utilisateur cliquesur le bouton gauche, le processus d’édition recommencera (c’est-à-dire que lepolygone de segmentation actuel sera supprimé).

Sinon, l’utilisateur doit choisir de conserver les points à l’intérieur ( ) ouà l’extérieur ( ) du polygone. Une fois fait l’autre les points disparaîtront(ainsi que le polygone). L’outil retombera en mode « pause ».

Mode pause

En mode pause, la souris peut être utilisée pour modifier l’orientation et laposition des entités de manière standard. L’utilisateur a plusieurs choix :

• modifier l’orientation actuelle des entités et segmenter plus de points (cli-

quez sur le bouton mode et définir un nouveau polygone / rectangle)

• réinitialiser la sélection en cours ( )

Page 56: CloudCompare v2.6

54CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

• valider la segmentation en cours et créer deux nuages : l’un avec les pointssélectionnés et l’autre avec les autres( )

• valider la segmentation en cours et créer un seul nuage avec les pointsvisibles ( ) - les autres points seront supprimés.

• annuler le processus de segmentation ( ) (aucune modification ne seproduira)

Importation / exportation de polygones

L’utilisateur peut importer ou exporter le polygone actuel en tant que poly-ligne 3D (flat–plat–).

Importation

Un nouveau polygone de segmentation peut être importé à tout momentavec l’option Utiliser une polyligne existante. Il sera ajouté à la racine de l’ar-borescence de la base de données avec un nom par défaut.

CC affichera une simple liste de toutes les polylignes trouvées dans l’arbores-cence de la base de données afin que l’utilisateur puisse sélectionner celle qu’ilsouhaite utiliser.

Attention : tout polygone / rectangle défini précédemment sera supprimé.

Exportation

Le polygone de segmentation peut être exporté dès qu’il a été « closed »–fermé– (clic droit) et AVANT de segmenter le polygone. points (à l’intérieur ouà l’extérieur).

Remarque : la polyligne exportée aura une entité « viewport »comme enfant.Cette entité « viewport »stocke la vue actuelle paramètres et permet à l’utili-sateur de restaurer la même fenêtre ultérieurement (en cliquant sur le bouton« Apply »(Appliquer) dans son Propriétés). La fenêtre d’affichage peut égale-ment être enregistrée dans des fichiers BIN. De cette façon, il est possible d’ap-pliquer exactement le même processus de segmentation à la même entité ou àd’autres entités (appliquez d’abord la fenêtre, puis démarrez l’outil et importezpar la suite la « polyline »–voir au dessus).

A propos de la segmentation du maillage

Dans le cas de maillages, cet outil ne coupe pas les triangles traversantles arêtes du polygone. Ces triangles sont toujours supprimés (c’est-à-dire quecet outil conserve uniquement le triangle dont tous les sommets sont situés àl’intérieur ou à l’extérieur du polygone). Le résultat peut être acceptable si le

Page 57: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 55

maillage a de très petits triangles. Cela peut être plus problématique si destriangles grands ou longs traversent le polygone de segmentation.

Plan rapproché de la segmentation du maillage près des bords du polygone et le maillage segmentéest en couleurs unies – le bord du polygone est en vert.

Raccourcis

Certains raccourcis clavier sont disponibles :

Page 58: CloudCompare v2.6

56CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

3.5.13 Crop(Recadrer)Menu

Cet outil est accessible via le menu « Edit > Crop »(Edition> Recadrer).

Description

Cet outil permet de recadrer un ou plusieurs nuages dans une boîte 3D.Remarque : cet outil crée de nouveaux nuages (un pour chaque nuage en

entrée – si le nuage est intersecté par la zone 3D).

Procédure

Sélectionnez un ou plusieurs nuages puis lancez cet outil. La boîte de dialogued’édition de boîtes 3D standard apparaît :

3D box editing dialog

Par défaut, la boîte est initialisée à la boîte englobante de tous les nuagessélectionnés (cette boîte par défaut peut être restaurée à tout moment par encliquant sur le bouton « Default »–Défaut–).

L’utilisateur peut définir la zone de recadrage de plusieurs manières :• en définissant le centre et les dimensions de la boîte [default]• en définissant le coin minimal et les dimensions de la boîte • en définissant

le coin maximal et les dimensions de la boîteRemarques :• pour les cases cubiques (la même dimension dans toutes les directions),

vous pouvez cocher la case « keep square »(garder la place).• vous pouvez rappeler la boîte précédente (si vous appelez l’outil plusieurs

fois) en cliquant sur le bouton « Last »(Dernier). Le « Last »(dernier) Le boutonn’apparaît que si l’outil a été appelé au moins deux fois.

Finalement, cliquez sur le bouton « OK »pour rogner les nuages d’entrée etcréer les sous-ensembles correspondants (ou cliquez sur le bouton « Cancel »(An-nuler) pour annuler le processus).

Page 59: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 57

Exemple de recadrage (le nuage (gris) a été découpé dans le nuage d’origine (blanc)

3.5.14 Modifier le changement global et l’échelle

Menu

Cet outil est accessible via le menu « Edit > Edit global shift & scale »( Edition> Editer Global Shift & Scale )

Description

Cet outil permet à l’utilisateur de modifier le « Global Shift & Scale »(Décalage global & échelle) de l’entité sélectionnée (nuage, maillage ou

polyligne).Voir la section « Global Shift and Scale »(Changement global et échelle) pour

plus d’informations.

Procédure

Sélectionnez une entité (nuage, maillage ou polyligne) et lancez cet outil.Une boîte de dialogue très similaire à celle affichée par CloudCompare quandune entité avec de grandes coordonnées est chargée apparaîtra :

Page 60: CloudCompare v2.6

58CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

« Edit global shift and scale »dialog

Un «exemple» numérique des réglages actuels de décalage et d’échelle estdonné dans les cadres turquoises :

• à gauche, un point est exprimé dans le système de coordonnées global (avecla longueur diagonale du cadre de sélection dans la partie inférieure)

• à droite, le même point est exprimé dans le système de coordonnées local(avec le cadre de sélection équivalent longueur diagonale aussi)

L’utilisateur peut modifier les valeurs de décalage et d’échelle. Les valeursdans les cadres turquoise sont automatiquement mises à jour pour refléter cesmodifications. Les valeurs modifiées apparaissent en violet ou en rouge :

Boîte de dialogue « Edit global shift and scale »(Editer le décalage global et l’échelle) avec unemodification en attente (système de coordonnées local maintenu)

Lorsque les valeurs de décalage et d’échelle sont modifiées, le système decoordonnées local ou le système de coordonnées global sera touché.

Garder le système de coordonnées local

Par défaut, l’outil modifiera « global coordinate system »(le systèmede coordonnées global). De cette façon, on peut facilement changer la géolo-

Page 61: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 59

calisation de le nuage, ou même simplement les supprimer afin de sauvegarderle nuage dans un système de coordonnées local.

Dans ce mode, aucune modification ne sera apportée au nuage actuellementen mémoire. Cependant, lorsqu’elle est exportée, l’entité peut ne pas être aumême endroit que l’original.

Garder le système de coordonnées global

Il est possible de dire à CloudCompare de maintenir le système de coordon-nées global inchangé. Pour cela, l’utilisateur doit vérifier la case à cocher « Keeporiginal position fixed »(Conserver la position d’origine fixe).

Dans ce cas, le système de coordonnées local sera modifié de manière àconserver celui d’origine (global) :

Boîte de dialogue « Edit global shift and scale »(Editer le décalage global et l’échelle) avec unemodification en attente (système de coordonnées local maintenu)

Dans ce mode, le nuage en mémoire sera traduit. Cependant, lorsqu’il seraexporté, le nuage sera dans la même position que l’original (sauf si d’autrestransformations ont bien sûr été appliquées).

3.5.15 Basculer (récursif) du menuMenu

Ce sous-menu est accessible via « Edit > Toggle (recursive »–Edition> Bas-culer (récursif)–.

La description

Ce sous-menu est principalement une collection de raccourcis clavier. Chacunbascule une propriété donnée des entités sélectionnées (et leurs frères et soeurs)ubsubsectionRaccourcis

Page 62: CloudCompare v2.6

60CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

1notrecursvive (c.-à-d. que seul l’état d’activation des entités sélectionnées est basculé, pas leursfrères et sœurs)

3.5.16 Effacer

Menu

Cet outil est accessible via le menu "Edition> Supprimer".

Description

Supprime les entités sélectionnées.Raccourci clavier : « DEL key »(touche del)Attention : l’action est immédiate (pas de message de confirmation).

3.5.17 Couleurs> Set Unique

Menu / Icône

Cet outil est accessible via « Edit > Colors > Set unique »(Edition> Cou-

leurs> Définir unique) Icône

Page 63: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 61

Description

Définir une couleur unique sur les entités sélectionnées.

Edit > Colors > Set unique dialog

Avertissements :• le champ de couleur précédent (le cas échéant) sera écrasé• toutes les entités ne peuvent pas être colorées

3.5.18 Couleurs> ColoriserMenu

Cet outil est accessible via le menu « Edit > Colors > Colorize »(Edition>Couleurs> Coloriser).

Description

Colorisez les entités sélectionnées en multipliant leurs couleurs actuelles parcelles spécifiées.

• NewColor.r = OldColor.r * (SelectedColor.r / 255)• NewColor.g = OldColor.g * (SelectedColor.g / 255)• NewColor.b = OldColor.b * (SelectedColor.b / 255)Remarque : si l’entité n’a pas de couleur, cette méthode est équivalente à

Définir unique.

3.5.19 Couleurs> NiveauxMenu

Cet outil est accessible via le menu « Edit > Colors > Levels »(Edition>Couleurs> Niveaux).

Page 64: CloudCompare v2.6

62CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Description

Éditez l’histogramme de couleur. Similaire à la méthode des niveaux dePhotoshop.

Edit > Colors > Levels dialog

Vous pouvez éditer tous les canaux à la fois (RVB) ou un canal à la fois(rouge, vert ou bleu). Par défaut, cet outil est principalement utilisé pour aug-menter la dynamique des couleurs. Pour ce faire, vous devrez zoomer dans leglobal histogramme. Les valeurs de couleur situées à l’intérieur de la sous-plagedans laquelle la plupart des informations se trouvent seront étendues de manièreà utilisez toute la plage [0-255].

En pratique, une fois que vous avez identifié le plus petit intervalle où setrouvent la plupart des informations (par exemple, [40-240] ici), définissez cetteoption. nouvel intervalle en tant que "Niveaux d’entrée" puis cliquez sur « Ap-ply »(Appliquer).

Les utilisateurs avancés peuvent également modifier les «niveaux de sortie».Dans ce cas, l’intervalle « Input »(Entrée) sera remappé sur « Output »(Sortie).un.

Remarque : la boîte de dialogue utilise un affichage d’histogramme standard.Vous pouvez donc cliquer dessus pour obtenir des informations sur le bac del’histogramme. survolé par la souris

3.5.20 Colors > Height RampMenu

Cet outil est accessible via le menu « Colors> Height Ramp »(Couleurs >Rampe Hauteur).

Page 65: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 63

Description

Appliquer une rampe de couleur (dégradé linéaire ou cycle) aux entités sé-lectionnées.

Edit > Edit > Colors > Height ramp

Cette méthode permet à l’utilisateur d’appliquer un dégradé linéaire (le dé-gradé par défaut – voir ci-dessous– ou tout dégradé défini par deux). couleurs)ou une carte cyclique HSV (« Banding », voir ci-dessous). Pour ce dernier, l’uti-lisateur doit spécifier le nombre de répétitions. Et dans tous les cas, l’utilisateurdoit choisir la direction principale de la rampe de hauteur (X, Y ou Z).

Gauche : hauteur de rampe par défaut –droite : rampe de« Banding » HSV cyclique.

Attention : tout champ de couleur précédent (le cas échéant) sera écrasé.

Page 66: CloudCompare v2.6

64CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

3.5.21 Colors > Convert to Scalar FieldMenu

Cet outil est accessible via le menu « Edit > Colors > Convert to Scalarfield »(Edition> Couleurs> Convertir en champ scalaire).

Description

Convertit le champ de couleur RVB actuel en un ou plusieurs champs sca-laires :

Edit > Colors > Convert to SF dialog

L’utilisateur peut choisir d’exporter les champs de couleur rouge, vert, bleuet composite (R + G + B / 3) sous forme de champs scalaires (un pour chacun).

3.5.22 Couleurs> Interpoler depuis une autre entitéMenu

Cet outil est accessible via le menu « Edit > Colors > Interpolate fromanother entity »(Edition> Couleurs> Interpoler à partir d’une autre entité).

Description

Interpole la couleur d’une autre entité afin de colorer les points / sommetsde l’entité sélectionnée.

Dans l’implémentation actuelle, pour chaque point du nuage sélectionné (oudes sommets de maillage sélectionnés–mesh vertices–), cette méthode sera uti-lisée. cherchez simplement le point le plus proche dans l’autre entité et prenezsa couleur.

Page 67: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 65

Edit > Colors > Interpolate from another entity

Deux entités doivent être sélectionnées (la couleur « source »et la « destina-tion »). Pour que CC puisse différencier les deux les entités, l’entité « destina-tion »ne doit pas avoir de couleurs (utilisez l’entrée « Edit > Colors > Clearentry to remove any existing color field »(Édition> Couleurs> Effacer pour sup-primer toute couleur existante). si nécessaire). Et bien sûr, l’entité « source »doitavoir des couleurs ...

3.5.23 Colors > Clear

Menu

Cet outil est accessible via le menu « Edit > Colors > Clear »(Edition>Couleurs> Effacer).

Description

Supprimer le champ de couleur des entités sélectionnées.

3.5.24 Normals > Compute

Menu / Icône

Cet outil est accessible via « Edit > Normals > Compute »(Edition> Nor-

males> Calculer) icône :

Description

Calcule les normales sur les entités sélectionnées.

Calcul des normales sur un nuage

Page 68: CloudCompare v2.6

66CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Edit > Normals > Compute dialog - mesh case

Si l’entité est un nuage, l’utilisateur doit spécifier plusieurs paramètres :

• modèle local : utiliser un plan (meilleur ajustement), une triangulation 2Dou une fonction de hauteur (quadric [1]) estimer la normale

• rayon local : rayon du voisinage local (sphère). Si elle est trop petite (c’est-à-dire pas assez de points pour calculer la modèle local) alors la normale sera(0, 0, 1) par défaut. Si c’est trop gros, le processus peut être très long et larésultat très lisse.

• orientation préférée : facultatif. Laissez l’utilisateur spécifier une heuris-tique simple pour définir l’orientation normale (en dehors de de la surface idéa-lement). Ces heuristiques sont :

◦ être aussi parallèle que possible à un axe, dans le sens positif ou négatif(−X/ + X, −Y/ + Y, −Z/ + Z)

◦ être aussi parallèle que possible à un vecteur provenant du barycenter desnuages et passant par le point ou l’inverse (+/- Barycenter)

◦ être aussi parallèle que possible à un vecteur provenant de l’origine (0, 0, 0)et passant par le point ou l’inverse (+/ − (0, 0, 0))

Remarques :

• si aucune orientation préférée n’a été spécifiée ou si le résultat n’est toujourspas cohérent, il peut être nécessaire de utilisez un algorithme plus avancé pourorienter les normales. Voir « Normals > Orient Normals > With MinimumSpan-ning Tree »method (Normales> Normales Orientalées> Avec minimumMéthodeSpanning Tree)

• Dans tous les cas, il peut être nécessaire d’inverser globalement le champdes normales avec la méthode Inverse (Invert method).

Page 69: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 67

Normales calculées sur un nuage (à gauche) puis correctement orientées avec un arbre recouvrantminimum (à droite).

Calculer les normales sur un mesh

Edit > Normals > Compute dialog - mesh case

Si l’entité est un maillage, alors CC demandera simplement à l’utilisateur siles normales doivent être calculées :

• par sommet–per-vertex– (c’est-à-dire que la moyenne normale de tous lestriangles connectés à un sommet (vertex) est affectée à ce sommet (vertex)-aspect lisse, pas de préservation des arêtes vives)

• ou par triangle (c’est-à-dire que le triangle normal est assigné au triangle- aspect dur / tessellé, mais conserve les arêtes vives)

Page 70: CloudCompare v2.6

68CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Per-vertex (left) and per-triangle (right) mesh normals

3.5.25 Normals > InvertMenu

Cet outil est accessible via le menu « Edit > Normals > Invert »(Edition>Normales> Inverser).

Description

Inverse les normales des entités sélectionnées. L’apparence d’une entité avecdes normales change en fonction de l’orientation de la lumière par rapport auxnormales :

• pour un nuage, les points éclairés vers l’arrière apparaîtront en noir• pour un maillage (avec le matériau par défaut), les triangles rétro-éclairés

apparaissent en bleu clair (alors que les triangles éclairés en avant sera vert)

3.5.26 Normals > Orient Normals > With Fast MarchingMenu

Cet outil est accessible via le menu « Edit > Normals > Orient normals >with Fast Marching »(Edition> Normales> Orientales> avec marche rapide)

Description

Cette méthode tente de réorienter de manière cohérente toutes les normalesd’un nuage. Il part d’un point aléatoire puis propage l’orientation normale d’unvoisin à l’autre.

La propagation se fait avec l’algorithme Fast Marching appliqué à une grille.En pratique, cette grille est l’octree du nuage considéré comme un niveau de

Page 71: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 69

subdivision donné. Par conséquent, l’utilisateur doit spécifier ce niveau de sub-division. Le problème est de trouver le bon niveau : si les cellules sont tropgrandes (c’est-à-dire un faible niveau de subdivision), la propagation n’est pastrès précise. toutefois si les cellules sont trop petites (c’est-à-dire un niveau élevéde subdivision), des cellules vides peuvent apparaître et la propagation en unseul balayage ne sera pas possible.

Attention : cette méthode est très rapide mais très approximative. I l estvivement conseillé d’utiliser les options « Normals > Orient Normals > WithMinimum Spanning Tree »(Normales> Orient Normales> Avec Minimum Span-ning Tree) à la place.

3.5.27 Normals > Convert to > HSVMenu

Cet outil est accessible via le menu « Edit > Normals > Convert to > HSVcolors »(Edition> Normales> Convertir en> Couleurs HSV).

Description

Convertit les normales d’un nuage en un champ de couleur HSV 3.H = direction du pendage, S = pendage et V = 1 (H = dip direction 4 , S =

dip and V = 1)

Edit > Normals > Convert to HSV colors (example)

3. http ://en.wikipedia.org/wiki/HSL_and_HSV4. http ://en.wikipedia.org/wiki/Strike_and_dip

Page 72: CloudCompare v2.6

70CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

3.5.28 Normals > Convert to > Dip and Dip directionSFs

Menu

Cet outil est accessible via le menu «Edit > Normals > Convert to > Dip anddip direction SFs’ menu »(Edition> Normales> Convertir en> SF de directionet d’immersion).

Description

Convertit les normales d’un nuage en deux champs scalaires :• un avec la valeur dip• et l’autre avec la valeur de direction d’immersionRemarque : les angles sont en degrés.

3.5.29 Normals > Clear

Menu

Cet outil est accessible via le menu « Normals > Clear »’Edition> Couleurs>Effacer)

Description

Supprimer les normales des entités sélectionnées.

3.5.30 Octree > Compute

Menu

Cet outil est accessible via le menu « Edit > Octree > Compute »(Edition>Octree> Calculer)

Description

Force le calcul de l’octree sur une entité donnée.

Page 73: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 71

Edit > Octree > Compute dialog (32 bits version)

Les étendues spatiales octree peuvent être définies de différentes manières :• défaut : le plus petit cube qui inclut totalement l’entité• Taille de cellule du cadre de sélection au niveau maximum : l’utilisateur

peut définir la taille de la cellule au niveau de subdivision le plus petit octreesera alors 2 N plus grand, N étant le niveau d’octree maximal)

• custom : l’utilisateur peut définir un cadre de sélection personnalisé avecun sous-dialogue dédié

Le niveau d’octree maximal (ou le nombre de subdivisions) est N = 10 dansla version 32 bits et N = 21 dans la version 64 bits. Remarque : cette opérationn’est généralement pas nécessaire (le calcul octree est effectué automatiquementpar CloudCompare lorsque nécessaire).

3.5.31 Octree > Resample

Menu

Cet outil est accessible via le menu « Edit > Octree > Resample »(Edition>Octree> Rééchantillonnage).

Description

La description Ré-échantillonne un nuage en remplaçant tous les points àl’intérieur de chaque cellule de l’octree (à un niveau de subdivision donné) parleur centre de gravité.

Le niveau de subdivision auquel le processus est appliqué est choisi pour cor-respondre (approximativement) au nombre attendu de résultats points spécifiéspar l’utilisateur.

Page 74: CloudCompare v2.6

72CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Edit > Octree > Resample (example)

Attention : cette méthode crée un nouveau nuage avec des points qui nesont pas nécessairement à la même position dans l’espace que le points de nuaged’entrée. Par conséquent, il n’est pas possible de conserver les différentes carac-téristiques attachées aux points d’entrée (couleur, valeurs normales, scalaires,etc.). Si vous souhaitez conserver ces caractéristiques (ainsi que lespoints, les positions d’origine), vous devez envisagez d’utiliser la mé-thode « Subsample » à la place.

3.5.32 Mesh > Delaunay 2.5D (XY plane)

Menu

Cet outil est accessible via le menu « Edit > Mesh > Delaunay 2.5D (XYplane) »–Edition> Maillage> Delaunay 2.5D (plan XY)–.

Description

Calcule une triangulation Delaunay 2.5D 5 sur un nuage de points.Le nuage de points est simplement projeté en 2D sur le plan (XY). Ensuite,

les points 2D correspondants sont triangulés et le la structure de maillage estappliquée aux points 3D.

Par défaut, la triangulation 2D de Delaunay est effectuée sur la coque convexedu nuage. Par conséquent, CloudCompare demandera à l’utilisateur pour spéci-fier une longueur maximale pour les bords du triangle. Cela permet de supprimerles plus gros triangles (généralement sur le frontière) qui ne sont pas nécessai-rement significatives. Si cette valeur est laissée à zéro, alors tous les trianglesgénérés par Delaunay la triangulation sera conservée.

5. http ://en.wikipedia.org/wiki/Delaunay_triangulation

Page 75: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 73

Edit > Mesh > Delaunay 2D

Cela fonctionne très bien avec des nuages plutôt plats et correctement orien-tés (c’est-à-dire avec la dimension Z comme verticale). Si la nuage de pointsn’est pas correctement orienté mais reste assez plat dans une direction, vousdevriez envisager d’utiliser l’autre version de cette méthode « Mesh > Delaunay2.5D (best fit plane »–Mesh> Delaunay 2.5D (plan de meilleur ajustement).

Remarque : pour la triangulation 3D, reportez-vous au plugin qPoissonRecon« Poisson Surface Reconstruction »(Poisson Surface Reconstruction).

3.5.33 Mesh > Convert texture/material to RGBMenu

Cet outil est accessible via le menu «Edit >Mesh > Convert texture/materialto RGB »(Edition> Maillage> Convertir texture / matériau en RVB).

Description

Convertit les informations de matériau et / ou de texture du maillage sélec-tionné en un champ RVB par sommet (per-vertex RGB field).

Pour chaque sommet du maillage, cette méthode interpolera la couleur dela texture la plus proche ou prendra le triangle associé. couleur du matériau siaucune texture n’est disponible.

Avertissement : si les sommets sont clairsemés, le rendu visuel du champRVB en sortie peut être assez différent de celui du champ d’origine. un.

3.5.34 Mesh > Sample pointsMenu / Icône

Cet outil est accessible via le menu « Edit > Mesh > Sample points »(Edi-

tion> Maillage> Points d’échantillonnage) ou le icône dans la barre d’outils

Page 76: CloudCompare v2.6

74CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

principale supérieure.

Description

Échantillonnage aléatoire de points sur un maillage.

Edit > Mesh > Sample points dialog

L’utilisateur peut spécifier le nombre total (approximatif) de points à échan-tillonner ou la densité de surface (nombre de points). points par unités carrées).Cette méthode permet d’exporter les normales et les informations de couleur dumaillage d’origine (par interpoler ces informations dans chaque triangle). Parconséquent, l’utilisateur peut choisir s’il souhaite réellement exporter chaquefonction (si disponible).

Maillage uni (à gauche), affichage filaire (au centre) et points échantillonnés correspondants (àdroite)

Page 77: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 75

3.5.35 Mesh > Smooth (Laplacian)Menu

Cet outil est accessible via le menu « Edit > Mesh > Smooth (Laplacian) »–Edition> Maillage> Lisse (Laplacien)–.

Description

La description Lisse un maillage avec « Laplacian smoothing »(lissage lapla-cien) 25. L’utilisateur doit spécifier le nombre d’itérations (20 par défaut) et laforce de lissage (« Smoothing factor »–facteur de lissage– entre 0 et 1 - 0,2 pardéfaut) appliqués à chaque itération.

Edit > Mesh > Smooth (Laplacian) example

Attention : l’algorithme de lissage ne préserve pas le volume / surface. Parconséquent, le maillage risque de diminuer un peu si le nombre d’itérations et /ou la force de lissage est trop élevé.

3.5.36 Mesh > SubdivideMenu

Cet outil est accessible via le menu « Edit > Mesh > Subdivide »(Edition>Maillage> Subdiviser).

Description

Subdivise un maillage.L’algorithme subdivise les triangles de maillage de manière récursive jusqu’à

ce que leur surface tombe sous une limite spécifiée par l’utilisateur.

Page 78: CloudCompare v2.6

76CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Mesh > Edit > Mesh > Subdivide dialog

Edit > Mesh > Subdivide example

3.5.37 Mesh> Mesurer la surface

Menu

Cet outil est accessible via le menu « Edit > Mesh > Measure surface »’Edi-tion> Maillage> Mesurer la surface).

Description

Mesure la surface totale du maillage ainsi que la surface moyenne par tri-angle. Les mesures de sortie sont affichées dans la console.

Edit > Mesh > Measure surface output

Page 79: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 77

3.5.38 Mesh > Measure volume

Menu

Cet outil est accessible via le menu « Edit > Mesh > Measure volume »(Edi-tion> Maillage> Mesurer le volume).

Description

Mesure le volume d’un maillage fermé. Les mesures de sortie sont affichéesdans la console.

Edit > Mesh > Measure volume output

3.5.39 Mesh > Flag vertices

Menu

Cet outil est accessible via le menu « Edit > Mesh > Flag vertices bytype »(Edition> Maillage> Indicateur de sommet par type).

Description

Contrôle de base de la qualité du maillage. Marque chaque sommet dumaillage par un (valeur scalaire) :

• 0 = normal• 1 = bordure• 2 = non multiple 6

Un résumé du nombre de chaque type de sommet (ainsi qu’un rappel de lasignification de chaque valeur SF) est affiché dans la console.

6. http ://en.wikipedia.org/wiki/Manifold

Page 80: CloudCompare v2.6

78CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

« Edit > Mesh > Flag vertices by type »output

3.5.40 Mesh > Scalar field > Smooth

Menu

Cet outil est accessible via le menu «Edit >Mesh > Scalar field > Smooth »(Edi-tion> Maillage> Champ scalaire> Lisser).

Description

Lisse un champ scalaire associé aux sommets du maillage. Cette méthodeest particulièrement utile après l’application du plugin qPCV. Contrairement àla méthode du « Gaussian Filte »(filtre gaussien), la structure du maillage estutilisée pour déterminer les voisins les plus proches de chaque sommet. C’estbeaucoup plus rapide et aucun paramètre n’est requis.

Page 81: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 79

Edit > Mesh > Scalar Field > Smooth or Enhance

3.5.41 Mesh > Scalar field > Enhance

Menu

Cet outil est accessible via le menu « Edit > Mesh > Scalar field > En-hance »(Edition> Maillage> Champ scalaire> Améliorer).

Description

Améliore un champ scalaire associé aux sommets du maillage.Cette méthode est particulièrement utile après l’application du plugin qPCV.

3.5.42 Sensors > Edit

Menu

Cet outil est accessible via le menu « Edit > Sensors > Edit »(Edition>Capteurs> Éditer).

Description

Cet outil permet à l’utilisateur de modifier les paramètres intrinsèques etextrinsèques du capteur sélectionné.

Capteur GBL / TLS

Page 82: CloudCompare v2.6

80CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Edit > Sensor > Modify dialog (GBL sensor)

Capteur de caméra

Edit > Sensor > Modify dialog (Camera sensor)

3.5.43 Sensors > Ground Based Lidar > CreateMenu

Cet outil est accessible via le menu « Edit > Sensors > Ground Based Laser> Create »(Edition> Capteurs> Laser basé au sol> Créer.

Description

La description Crée une entité de capteur « Ground Based Lidar »–Lidarterrestre– (= TLS) attachée au nuage sélectionné.

Page 83: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 81

Edit > Sensor > Create > GBL sensor dialog

L’utilisateur doit spécifier les principaux paramètres intrinsèques et extrin-sèques du capteur (position et orientation absolues, pas angulaires, etc.).

Note : depuis la version 2.5.6, les angles sont maintenant exprimés en degréset les avions 7 les dénominations (lacet / tangage) sont utilisées de manière pourrendre les choses plus claires.

Clicking on the « OK »button will create a new sensor object. A depth mapis automatically generated and displayed by CloudCompare so as to let the uservisually check the parameters.

Par défaut, l’objet capteur est ajouté en tant qu’enfant du nuage sélectionnédans l’arborescence de la base de données. Il est également visible dans la vue3D (avertissement : vous devrez peut-être modifier son « drawing scale »(échellede dessin) - voir les propriétés de l’objet capteur - pour l’afficher correctement).

7. http ://en.wikipedia.org/wiki/Aircraft_principal_axes

Page 84: CloudCompare v2.6

82CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Objet capteur GBL (visible dans l’arborescence de la base de données et dans une vue 3D

3.5.44 Sensors > Ground Based Lidar > Show Depth Buf-fer

Menu

Cet outil est accessible via le menu « Edit > Sensors > Ground Based La-ser »(Edition> Capteurs> Laser basé au sol> Afficher le tampon de profondeur).

Description

Affiche la carte de profondeur 8 du capteur de lidar au sol (GBL) sélectionné.

GBL sensor depth map

8. http ://en.wikipedia.org/wiki/Depth_map

Page 85: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 83

3.5.45 Sensors > Ground Based Lidar > Export DepthBuffer

Menu

Cet outil est accessible via le menu « Edit > Sensors > Ground Based Laser> Export Depth Buffer »(Edition> Capteurs> Laser basé au sol> Exporter letampon de profondeur).

Description

Exporte la carte de profondeur[1] du capteur Lidar terrestre (GBL) sélec-tionné en tant que fichier ASCII.

CloudCompare demandera simplement un nom de fichier de destination.

Format de fichier de sortie

Le fichier de sortie est organisé comme suit :• ligne de commentaire : titre (CLOUDCOMPARE DEPTH MAP)• ligne de commentaire : nom du nuage (nuage associé : XXX)• ligne de commentaire : premier pas angulaire (min et max entre paren-

thèses)• ligne de commentaire : deuxième pas angulaire (min et max entre paren-

thèses)• ligne de commentaire : profondeur maximale (pMax : XXX)• ligne de commentaire : longueur de la carte de profondeur (L : XXX)• ligne de commentaire : hauteur de la carte de profondeur (H : XXX)• ligne de commentaire (///////////////////////////)• puis sur chaque ligne : 3 valeurs par pixel de la carte de profondeur (co-

lonne, ligne, profondeur)

Exemple

// CLOUDCOMPARE DEPTH MAP// Associated cloud: cloud_name// dPhi = 0.005000 [ -0.383040 : 0.007195 ]// dTheta = 0.005000 [ -1.586361 : 0.137948 ]// pMax = 58841.890625// L = 345// H = 79/////////////////////////0 0 12.0000000000001 0 15.0000000000002 0 16.000000000000...

Page 86: CloudCompare v2.6

84CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

3.5.46 Sensors > Camera Sensor > Create

Menu

Cet outil est accessible via le menu « Edit > Sensors > Camera Sensor >Create »(Edition> Capteurs> Capteur de caméra> Créer).

Description

La description Depuis la version 2.5.6, il est possible de créer des capteursde caméra avec cette fonction (toutefois, il est plus facile de les charger depuisBundler 9 fichiers par exemple).

Pour l’instant, seuls les paramètres extrinsèques et intrinsèques peuvent êtrecréés / modifiés (le modèle de distorsion / incertitude ne peut pas être modifié).être installé de cette façon).

Remarque : théoriquement, un capteur de caméra peut être associé à unnombre quelconque de matrices de transformation 4x4 (association d’un Rota-tion 3D et une traduction) stockés dans un fichier « Trans. buffer »(Trans.entité tampon) . Ils représenteraient généralement le déplacement de la ca-méra. Cependant, aucun format de fichier ne permet de charger ce type dedonnées pour le moment ...

9. http ://www.cs.cornell.edu/ snavely/bundler/

Page 87: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 85

Objet capteur de caméra (visible dans l’arborescence de la base de données et dans une vue 3D

3.5.47 Sensors > Camera Sensor > Project uncertaintyMenu

Cet outil est accessible via le menu « Edit > Sensors > Camera Sensor >Project uncertainty »(Edition> Capteurs> Capteur de caméra> Incertitude duprojet).

Description

Projette l’incertitude du modèle de caméra sur un nuage de points. La sortieconsiste en plusieurs champs scalaires :

• incertitude le long de l’axe X• incertitude le long de l’axe des ordonnées• incertitude le long de l’axe Z• Incertitude 3D (norme du vecteur (uX, uY, uZ))

3.5.48 Sensors > Camera Sensor > Compute points visi-bility (with octree)

Menu

Cet outil est accessible via le menu « Edit > Sensors > Camera Sensor> Compute points visibility (with octree) »–Edition> Capteurs> Capteur decaméra> Visibilité des points de calcul (avec octree)–.

Page 88: CloudCompare v2.6

86CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Description

Indique les points d’un nuage selon qu’ils sont visualisés par le capteur sé-lectionné (appareil photo) ou non. Le contrôle de visibilité est effectué pour laposition de la caméra « active ». Les informations de visibilité par point sontstockées dans un champ scalaire :

• 0 = PAS VISIBLE• 1 = visible

Résultat d’un calcul de « visibilité »

3.5.49 Sensors > View from sensorMenu/ Icône

Cet outil est accessible via « Edit > Sensors > View from sensor »(Edition>Capteurs> Vue du capteur). Icône .

Description

Modifie les paramètres actuels de la caméra de vue 3D pour qu’ils corres-pondent aux paramètres de capteur sélectionnés (mode de vue par bulle). Re-marques :

• le mode d’affichage de la caméra sera automatiquement changé en « viewer-based perspective »(perspective basée sur le spectateur)

Page 89: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 87

• pour les capteurs GBL, il peut être nécessaire d’augmenter manuellementla caméra de vue 3D f.o.v. (voir « Display > Camera settings »–Affichage>Caméra paramètres–) afin d’obtenir un affichage plus réaliste.

Edit > Sensor > View from sensor example (Ground Based Lidar sensor)

3.5.50 Sensors > Compute ranges

Menu

Cet outil est accessible via le menu «Edit > Sensors > Compute ranges »(Edi-tion> Capteurs> Calculer les gammes).

Description

Calcule la portée de tous les points (de tout nuage) par rapport au capteursélectionné. L’utilisateur peut spécifier si CloudCompare doit générer les plagesau carré ou non.

Page 90: CloudCompare v2.6

88CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Edit > Sensor > Compute ranges output example

3.5.51 Sensors > Compute scattering anglesMenu

Cet outil est accessible via le menu « Edit > Sensors > Compute scatteringangles »(Edition> capteurs> Calculer les angles de diffusion).

Description

Calcule l’angle de diffusion de tous les points (de tout nuage avec des nor-males) par rapport au capteur sélectionné. L’utilisateur peut spécifier si Cloud-Compare doit afficher les angles en radians ou en degrés.

Edit > Sensor > Scattering angles output example

Page 91: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 89

3.5.52 Scalar fields > Show histogram

Menu / Icône

Cet outil est accessible via le menu « Edit > Scalar fields > Show histo-gram »(Edition> Champs scalaires> Afficher l’histogramme) ou le menu icône

dans la barre d’outils principale supérieure.

Description

Affiche l’histogramme du champ scalaire actif de l’entité actuellement sélec-tionnée :

Edit > Scalar Fields > Show histogram dialog

Les interactions

• le nombre de classes « bins »(cases) de l’histogramme peut être modifiéavec la molette de la souris

• l’utilisateur peut cliquer n’importe où sur l’histogramme pour faire ap-paraître une ligne rouge verticale. A côté de cette ligne sera indiqué la classecorrespondante « bin »(case) , le pourcentage de points en dessous de cette classeet le scalaire correspondant valeur.

Couleurs

Les couleurs de la corbeille de l’histogramme sont identiques à l’échelle decouleurs actuellement associée au champ scalaire.

Page 92: CloudCompare v2.6

90CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

3.5.53 Scalar fields > Compute statistical parametersMenu / Icône

Cet outil est accessible via le menu « Edit > Scalar fields > Compute stat.params »(Edition> Champs scalaires> Calculer stat.params) le menu ou l’icône

dans la partie supérieure principale

Description

Convient à une distribution statistique sur les valeurs du champ scalaireactif.

CloudCompare va d’abord demander le type de distribution à adapter :• Distribution de Gauss (Normal 10)• Distribution de Weibull 11 CloudCompare s’adapte alors à la distribution

choisie et affiche le résultat sous la forme d’une courbe superposée à l’histo-gramme SF.

Edit > Scalar Fields > Compute stat. params output

Les paramètres numériques de la distribution sont également affichés dansla console. La distance du chi carré 32 est également sortie afin de donner uneévaluation de la qualité du processus de pose.

Distribution normale pliée

Attention, la distribution Folded Normal n’est pas identique à la distributionNormal.

Par exemple, la sortie de l’outil de calcul de distance de nuage à nuage n’estpas signée (c’est-à-dire qu’aucune valeur négative n’est sortie, seulement leurs

10. http ://en.wikipedia.org/wiki/Normal_distribution11. http ://en.wikipedia.org/wiki/Weibull_distribution

Page 93: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 91

valeurs absolues). Dans un tel cas, il n’y a absolument aucune chance que lesvaleurs de distance résultantes suivent un Distribution normale.

Même si les déformations que vous mesurez suivent une distribution nor-male (dans la vie réelle), les valeurs absolues resteront identiques. suivez unedistribution normale pliée. Actuellement, CloudCompare ne peut pas adapterune telle distribution sur un champ scalaire

3.5.54 Scalar fields > Gradient

Menu / Icône

Cet outil est accessible via »Edit > Scalar fields > Gradient« (Edition>

Champs scalaires> Dégradé). Icône :

Description

Calcule le dégradé d’un champ scalaire. CloudCompare posera tout d’abordune question délicate : « is the scalar field composed of (Euclidean) distances ? »(lechamp scalaire est-il composé de distances –euclidiennes– ?).

Edit > Scalar Fields > Gradient dialog

Vous devrez généralement répondre « No » à cette question, sauf si les valeursdu champ scalaire actif sont des distances ou des altitudes. exemple. Dans ce cas,certaines considérations de base permettront à CC de plafonner les valeurs degradient obtenues en dessous de un. Cela limite l’effet du bruit (qui a tendanceà être beaucoup plus visible sur le gradient que sur le SF d’origine).

Page 94: CloudCompare v2.6

92CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Edit > Scalar Fields > Gradient output example

Le gradient est un bon moyen d’identifier les changements rapides dans leSF source, par exemple, et d’autres structures intéressantes.

Remarque : un nouveau champ scalaire est généré (c’est-à-dire que le champscalaire d’origine n’est pas écrasé).

Scalar fields > Gaussian filter

Menu / :

Cet outil est accessible via « Edit > Scalar fields > Gaussian filter »(Edition>Champs scalaires> Filtre gaussien).Icône :

Description

Lisse un champ scalaire en appliquant un filtre gaussien spatial 12. L’utili-sateur doit choisir une taille de « kerne »(noyau) (en fait, le rayon de la sphèredans laquelle les voisins les plus proches seront extraits chaque point pour cal-culer la valeur moyenne). Plus le filtre sera puissant (et plus le calcul sera lent...).

Edit > Scalar Fields > Gaussian and Bilateral filters

12. http ://en.wikipedia.org/wiki/Gaussian_filter

Page 95: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 93

Remarque : un nouveau champ scalaire est généré (c’est-à-dire que le champscalaire d’origine n’est pas écrasé).

3.5.55 Scalar fields > Bilateral filterMenu / Icône

Cet outil est accessible via « Edit > Scalar fields > Bilateral filte »(Edition>Champs scalaires> Filtre bilatéral). Icône :

Description

Lisse un champ scalaire en appliquant un filtre bilatéral 13CloudCompare va d’abord demander les deux paramètres du filtre :• sigma spatial : la variance de la distribution normale pour la partie spatiale

du filtre• sigma scalaire : variance de la distribution normale pour la partie scalaire

du filtre

Edit > Scalar Fields > Bilateral filter dialog

Le filtre bilatéral a tendance à mieux conserver les bords forts. Remarque : unnouveau champ scalaire est généré (c’est-à-dire que le champ scalaire d’originen’est pas écrasé).

3.5.56 Scalar fields > Filter by ValueMenu / Icône

Cet outil est accessible via le menu « Edit > Scalar fields > Filter by va-lue »(Edition> Champs scalaires> Filtrer par valeur) dans le menu ou l’icône

dans la barre d’outils principale supérieure.

Description

Filtre les points du nuage sélectionné en fonction de leur valeur scalaireassociée.

Un nouveau nuage (ou maillage) est créé avec les points situés dans la plagespécifiée.

13. http ://en.wikipedia.org/wiki/Bilateral_filter

Page 96: CloudCompare v2.6

94CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Edit > Scalar Fields > Filter by value dialog

3.5.57 Scalar fields > Convert to RGB

Menu / Icône

Cet outil est accessible via « Edit > Scalar fields > Convert to RGB »(Edi-tion> Champs scalaires> Convertir en RVB). Icône :

Description

Convertit simplement le champ scalaire actif en un champ de couleur RVB.Les couleurs attribuées aux points sont exactement celles visibles à l’écran

au moment de l’appel de la méthode. Donc le rendu ne changera pas. Cepen-dant, CloudCompare masquera automatiquement le champ scalaire et activerale champ RVB. au lieu.

Remarque : le champ scalaire d’origine n’est ni modifié ni supprimé.

3.5.58 Scalar fields > Convert to random RGB

Menu

Cet outil est accessible via le menu « Edit > Scalar fields > Convert torandom RGB »(Edition> Champs scalaires> Convertir en RVB aléatoire).

Description

Convertit le champ scalaire actif de l’entité sélectionnée en appliquant uneéchelle de couleurs aléatoire.

L’utilisateur doit d’abord définir un nombre de couleurs qui seront géné-rées aléatoirement. CloudCompare appliquera alors le l’échelle de couleur cor-respondante « random »(aléatoire) (en tant qu’échelle linéaire, échantillonnéerégulièrement sur le champ scalaire)

Page 97: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 95

Edit > Scalar Fields > Convert to random RGB colors

Remarque : ceci est très utile pour colorer de manière aléatoire un ensemblede points avec un index de classification sous forme de champ scalaire, parexemple (il suffit de définir le même nombre de couleurs aléatoires que le nombrede classes).

3.5.59 Scalar fields > RenameMenu

Cet outil est accessible via le menu « Edit > Scalar fields > Rename »(Edi-tion> Champs scalaires> Renommer).

Description

Renomme le champ scalaire actif de l’entité sélectionnée.

Edit > Scalar Fields > Rename dialog

3.5.60 Scalar fields > Add constant SFMenu / Icône

Cet outil est accessible via l’ icône dans la barre d’outils principale su-périeure ou dans le menu « Edit > Scalar fields > Add constant SF »(Edition>Champs scalaires> Ajouter constante SF).

Page 98: CloudCompare v2.6

96CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Description

Ajoute un nouveau champ scalaire avec une valeur constante (c’est-à-direla même valeur pour tous les points) au nuage sélectionné. CloudCompare de-mandera d’abord le nom de la SF (il doit être unique, sinon, si une SF portantle même nom existe, elle sera écrasé). Ensuite, CloudCompare demandera lavaleur SF (constante).

Edit > Champs scalaires> Ajouter des dialogues SF constants (à gauche : nom de SF - à droite :valeur de SF)

Remarque : utile en conjonction avec le

« Scalar fields > Arithmetic tool »(Champs scalaires> Outil arithmétique).

3.5.61 Scalar fields > Add point indexes as SF

subsubsectionMenu / Icône Cet outil est accessible via le menu « Edit >Scalar fields > Add point indexes as SF »(Edition> Champs scalaires> Ajouterdes index de points en tant que SF)S

Description

Crée un nouveau champ scalaire sur le ou les nuages sélectionnés avec lesindex de points (c’est-à-dire leur ordre de création ou l’ordre dans lequel ils sontcréés). lus à partir du fichier d’origine) en tant que valeurs scalaires.

Page 99: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 97

Edit > Scalar Fields > Add point indexes as SF example

3.5.62 Scalar fields > Export coordinate(s) to SF(s)subsubsectionMenu Cet outil est accessible via le menu « Edit > Scalar

fields > Export coordinate(s) to SF(s)’ menu or the ’Tools > Projection >Export coordinate(s) to SF(s) »–Edition> Champs scalaires> Exporter la (les)coordonnée (s) vers le (s) SF (s)" ou le menu "Outils> Projection> Exportercoordonnée (s) au menu SF (s)–.

Description

Cet outil permet à l’utilisateur d’exporter les coordonnées des points versun ou plusieurs champs scalaires.

CloudCompare demandera à l’utilisateur de sélectionner la ou les dimensionssource :

Edit > Scalar Fields > Export coordinate(s) as SF(s) dialog

Page 100: CloudCompare v2.6

98CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Chaque dimension sera exportée dans un champ scalaire avec un nom pré-défini (’Coord. X’, ’Coord. Y’ et ’Coord. Z’).

Z coordinates exported to a new scalar field

Attention : si un champ scalaire portant le même nom existe, il sera écrasé.

3.5.63 Scalar fields > Set SF as coordinate(s)

subsubsectionMenu Cet outil est accessible via le menu « Edit > Scalar fields> Set SF as coordinate(s) »–Edition> Champs scalaires> Définir SF commecoordonnées–.

Description

Définit le champ scalaire actif du nuage sélectionné comme une (ou plusieurs)de ses coordonnées.

CloudCompare demandera à l’utilisateur de sélectionner la ou les dimensionsde destination :

Page 101: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 99

Edit > Scalar Fields > Set SF as coordinate(s) dialog

Par exemple, on peut remplacer les coordonnées Z par n’importe quelle va-leur scalaire de manière à avoir une sorte de "représentation 3D" du champscalaire. Plus généralement, cette méthode est utile pour convertir un raster 2Ddont l’altitude est un champ scalaire en un nuage / raster 3D (cloud/raster)approprié

À gauche : raster d’origine - à droite : la coordonnée Z « exportée »(exported) du SF associé

Remarque : il est parfois nécessaire de redimensionner ultérieurement la co-ordonnée Z « with the Multiply / Scale method »(avec la méthode Multiplier/ Echelle) en tant que raster. les champs ne sont pas toujours dans les mêmesunités que les coordonnées XY (par exemple, l’altitude est codée sous la formed’une intensité de gris, entre 0 et et 255).

3.5.64 Scalar fields > ArithmeticsubsubsectionMenu / Icône Cet outil est accessible via le menu « Edit > Sca-

lar fields > Arithmetic »(Edition> Champs scalaires> Arithmétique) le menu

ou l’icône dans la barre d’outils principale supérieure.

Page 102: CloudCompare v2.6

100CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Description

Cet outil permet de :• effectuer des opérations arithmétiques standard entre deux champs sca-

laires du même nuage (+, -, *, /)• ou appliquer des fonctions mathématiques à un seul champ scalaire

Edit > Scalar Fields > Arithmetic dialog

Supported mathematical functions are :

• SQRT (square root)• POW2 (power of 2)• POW3 (power of 3)• EXP (exponential)• LOG (natural log)• LOG10 (base 10 log)• COS (radians)• SIN (radians)• TAN(radians)• ACOS• ASIN• ATAN• Integer part• Inverse (1/x)

Remarque : cette méthode créera un nouveau champ scalaire (les champsscalaires source ne sont ni modifiés ni supprimés).

3.5.65 Scalar fields > Color Scales ManagerMenu / Icône

Cet outil est accessible via le menu « Edit > Scalar fields > Color Scales Ma-nage »(Edition> Champs scalaires> Gestionnaire d’échelles de couleurs) dansle menu de la liste dans les propriétés cloud / mesh et l’icône à côté deséchelles de couleurs

Page 103: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 101

Description

Le Gestionnaire d’échelles de couleurs permet à l’utilisateur de gérer et decréer de nouvelles échelles de couleurs.

Edit > Scalar Fields > Color Scales Manager

Toutes les échelles de couleurs définies par l’utilisateur (ou importées à par-tir d’un fichier BIN) sont enregistrées dans la mémoire persistante du systèmed’exploitation. système (par exemple, le registre sous Windows). Ils peuvent êtrecréés, modifiés et supprimés via le Gestionnaire de gammes de couleurs.

Remarque : si une entité est enregistrée avec une échelle de couleurs person-nalisée dans un fichier BIN et que ce fichier est chargé sur un autre ordinateur,la couleur la balance sera automatiquement importée dans le registre de l’autreordinateur (et sera donc disponible dans les autres instances). de CloudComparesur cet ordinateur).

Échelles de couleurs par défaut

CloudCompare est livré avec différentes échelles de couleurs par défaut :• Bleu> Vert> Jaune> Rouge• Gris• Bleu> Blanc> Rouge• Rouge> Jaune• Rouge> Blanc• Intensité [0-1]• Angle HSV [0-360]Ces échelles de couleurs ne peuvent être ni modifiées ni supprimées.

Échelles de couleurs personnalisées

L’utilisateur peut créer une échelle de couleurs à partir de zéro « New but-ton »(bouton «Nouveau») ou en commencer une existante «Copy’ button »(bou-

Page 104: CloudCompare v2.6

102CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

ton –Copier–). Deux modes sont disponibles « see the ’Mode’ combo-box »(voirla liste déroulante « Mode ») :

• relative : une échelle de couleur relative s’étend automatiquement sur toutela plage de champ scalaire (donc la couleur position sont exprimés en pourcen-tage).

• absolu : une échelle de couleur absolue aura des paliers de couleur définisà des valeurs particulières (absolute). C’est le moyen standard d’obtenirun aspect cohérent avec plusieurs nuages ayant des champs scalaireséquivalents mais avec des gammes.

Appellation

Les échelles de couleurs peuvent être renommées avec le bouton « Renom-mer »(Rename). Le nom n’est pas nécessairement unique.

Enregistrer / supprimer

chaque fois qu’une échelle de couleur est modifiée, l’utilisateur doit cliquersur le bouton « Enregistrer »(Save) pour que CC se souvienne de la modifica-tions (CC demandera automatiquement à l’utilisateur s’il souhaite enregistrerles modifications si l’utilisateur l’a oubliée). le bouton « Supprimer »(Delete)permet à l’utilisateur de supprimer l’échelle de couleurs actuelle (si ce n’est pascelle par défaut). CC demandera un confirmation.

Édition

Les « curseurs »(sliders)de couleur existants peuvent être modifiés de manièreinteractive :

• en appuyant sur le symbole « crayon »(pencil) correspondant et en le dépla-çant à gauche ou à droite • en double cliquant dessus pour changer de couleurDe même, si l’utilisateur clique une fois sur le symbole « crayon »(pencil), lecadre « Curseur sélectionné »(Selected slider) est mis à jour avec le symboleinformations actuelles du curseur :

• la case « Couleur »(Color) peut être cliquée pour changer la couleur ducurseur

• le menu déroulant (spin-box) « Valeur »(Value) peut être édité pour chan-ger la position du curseur

• le petit bouton « garbage »(ordures) est utilisé pour supprimer le curseuractuel Avertissements :

• chaque fois qu’une valeur de curseur est modifiée à l’aide de la molette« Valeur »(Value), la représentation de l’échelle de couleur est automatiquementmodifiée.

• mis à jour. Cela peut conduire à des situations confuses où les curseurssont (temporairement) inversés

• si deux curseurs ont la même « Valeur »(Value), celle qui est active (c’est-à-dire celle qui est actuellement modifiée dans le cadre du « Curseur sélec-tionné »(Selected slider))

Page 105: CloudCompare v2.6

3.5. EDIT MENU (MENU D’ÉDITION) 103

• sera choisi au hasard. Encore une fois, cela peut conduire à des situationsconfuses ...

Export / Import

Depuis la version 2.6.1, les échelles de couleurs peuvent être exportées sousforme de fichiers XML.

Utilisez l’icône pour importer un tel fichier et l’icône pour exporterl’échelle de couleurs actuelle.

Page 106: CloudCompare v2.6

104CHAPITRE 3. TUTORIALS ANDGUIDELINES–TUTORIELS ET DIRECTIVES

Page 107: CloudCompare v2.6

Table des matières

1 Introduction 11.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Philosophie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.1 Nuage de points Versus Mesh . . . . . . . . . . . . . . . . 21.2.2 Champs scalaires . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Quelques considérations techniques . . . . . . . . . . . . . . . . . 31.3.1 Portable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3.2 Compromis entre stockage et vitesse . . . . . . . . . . . . 31.3.3 Évolution récente . . . . . . . . . . . . . . . . . . . . . . . 4

2 Concepts généraux 52.1 Interface utilisateur graphique . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Entités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.2 Arbre de base de données . . . . . . . . . . . . . . . . . . 122.1.3 Formats de fichiers pris en charge . . . . . . . . . . . . . . 162.1.4 Modes d’affichage . . . . . . . . . . . . . . . . . . . . . . . 172.1.5 Changement global et échelle . . . . . . . . . . . . . . . . 20

3 Tutorials and guidelines–Tutoriels et directives 253.1 Alignement et enregistrement . . . . . . . . . . . . . . . . . . . . 25

3.1.1 Considérations générales . . . . . . . . . . . . . . . . . . . 253.1.2 Alignement . . . . . . . . . . . . . . . . . . . . . . . . . . 273.1.3 Enregistrement automatique . . . . . . . . . . . . . . . . 28

3.2 Calcul des distances . . . . . . . . . . . . . . . . . . . . . . . . . 293.2.1 Cloud-cloud distances . . . . . . . . . . . . . . . . . . . . 303.2.2 Distances nuage-maille . . . . . . . . . . . . . . . . . . . . 32

3.3 Comment comparer deux entités 3D . . . . . . . . . . . . . . . . 333.3.1 Charger des données . . . . . . . . . . . . . . . . . . . . . 333.3.2 Préparation des données . . . . . . . . . . . . . . . . . . . 333.3.3 Comparaison de données . . . . . . . . . . . . . . . . . . . 36

3.4 Outils et algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . 383.4.1 Ouvrir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.4.2 Sauvegarder . . . . . . . . . . . . . . . . . . . . . . . . . . 393.4.3 Usine à primitive . . . . . . . . . . . . . . . . . . . . . . . 40

105

Page 108: CloudCompare v2.6

106 TABLE DES MATIÈRES

3.4.4 3D mouse > Enable . . . . . . . . . . . . . . . . . . . . . 413.4.5 Fermer tout . . . . . . . . . . . . . . . . . . . . . . . . . . 423.4.6 Quitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.5 Edit menu (Menu d’édition) . . . . . . . . . . . . . . . . . . . . . 423.5.1 Clone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.5.2 Merge (Fusionner) . . . . . . . . . . . . . . . . . . . . . . 423.5.3 Sous-échantillon (Subsample) . . . . . . . . . . . . . . . . 443.5.4 Appliquer la transformation (Apply Transformation) . . . 473.5.5 Début . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.5.6 Procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.5.7 Entrer une transformation . . . . . . . . . . . . . . . . . . 483.5.8 Axe de rotation et angle + translation . . . . . . . . . . . 483.5.9 Angles d’Euler + translation . . . . . . . . . . . . . . . . 483.5.10 Multiplier/Échelle (Multiply/Scale) . . . . . . . . . . . . 493.5.11 « Translater / faire pivoter (Outil de transformation inter-

active) »–Translate / Rotate –interactive TransformationTool– . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.5.12 Segment (outil de segmentation interactif) . . . . . . . . . 513.5.13 Crop(Recadrer) . . . . . . . . . . . . . . . . . . . . . . . . 563.5.14 Modifier le changement global et l’échelle . . . . . . . . . 573.5.15 Basculer (récursif) du menu . . . . . . . . . . . . . . . . . 593.5.16 Effacer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.5.17 Couleurs> Set Unique . . . . . . . . . . . . . . . . . . . . 603.5.18 Couleurs> Coloriser . . . . . . . . . . . . . . . . . . . . . 613.5.19 Couleurs> Niveaux . . . . . . . . . . . . . . . . . . . . . . 613.5.20 Colors > Height Ramp . . . . . . . . . . . . . . . . . . . . 623.5.21 Colors > Convert to Scalar Field . . . . . . . . . . . . . . 643.5.22 Couleurs> Interpoler depuis une autre entité . . . . . . . 643.5.23 Colors > Clear . . . . . . . . . . . . . . . . . . . . . . . . 653.5.24 Normals > Compute . . . . . . . . . . . . . . . . . . . . . 653.5.25 Normals > Invert . . . . . . . . . . . . . . . . . . . . . . . 683.5.26 Normals > Orient Normals > With Fast Marching . . . . 683.5.27 Normals > Convert to > HSV . . . . . . . . . . . . . . . 693.5.28 Normals > Convert to > Dip and Dip direction SFs . . . 703.5.29 Normals > Clear . . . . . . . . . . . . . . . . . . . . . . . 703.5.30 Octree > Compute . . . . . . . . . . . . . . . . . . . . . . 703.5.31 Octree > Resample . . . . . . . . . . . . . . . . . . . . . . 713.5.32 Mesh > Delaunay 2.5D (XY plane) . . . . . . . . . . . . . 723.5.33 Mesh > Convert texture/material to RGB . . . . . . . . . 733.5.34 Mesh > Sample points . . . . . . . . . . . . . . . . . . . . 733.5.35 Mesh > Smooth (Laplacian) . . . . . . . . . . . . . . . . 753.5.36 Mesh > Subdivide . . . . . . . . . . . . . . . . . . . . . . 753.5.37 Mesh> Mesurer la surface . . . . . . . . . . . . . . . . . . 763.5.38 Mesh > Measure volume . . . . . . . . . . . . . . . . . . . 773.5.39 Mesh > Flag vertices . . . . . . . . . . . . . . . . . . . . . 773.5.40 Mesh > Scalar field > Smooth . . . . . . . . . . . . . . . 78

Page 109: CloudCompare v2.6

TABLE DES MATIÈRES 107

3.5.41 Mesh > Scalar field > Enhance . . . . . . . . . . . . . . . 793.5.42 Sensors > Edit . . . . . . . . . . . . . . . . . . . . . . . . 793.5.43 Sensors > Ground Based Lidar > Create . . . . . . . . . 803.5.44 Sensors > Ground Based Lidar > Show Depth Buffer . . 823.5.45 Sensors > Ground Based Lidar > Export Depth Buffer . 833.5.46 Sensors > Camera Sensor > Create . . . . . . . . . . . . 843.5.47 Sensors > Camera Sensor > Project uncertainty . . . . . 853.5.48 Sensors > Camera Sensor > Compute points visibility

(with octree) . . . . . . . . . . . . . . . . . . . . . . . . . 853.5.49 Sensors > View from sensor . . . . . . . . . . . . . . . . . 863.5.50 Sensors > Compute ranges . . . . . . . . . . . . . . . . . 873.5.51 Sensors > Compute scattering angles . . . . . . . . . . . . 883.5.52 Scalar fields > Show histogram . . . . . . . . . . . . . . . 893.5.53 Scalar fields > Compute statistical parameters . . . . . . 903.5.54 Scalar fields > Gradient . . . . . . . . . . . . . . . . . . . 913.5.55 Scalar fields > Bilateral filter . . . . . . . . . . . . . . . . 933.5.56 Scalar fields > Filter by Value . . . . . . . . . . . . . . . 933.5.57 Scalar fields > Convert to RGB . . . . . . . . . . . . . . . 943.5.58 Scalar fields > Convert to random RGB . . . . . . . . . . 943.5.59 Scalar fields > Rename . . . . . . . . . . . . . . . . . . . 953.5.60 Scalar fields > Add constant SF . . . . . . . . . . . . . . 953.5.61 Scalar fields > Add point indexes as SF . . . . . . . . . . 963.5.62 Scalar fields > Export coordinate(s) to SF(s) . . . . . . . 973.5.63 Scalar fields > Set SF as coordinate(s) . . . . . . . . . . . 983.5.64 Scalar fields > Arithmetic . . . . . . . . . . . . . . . . . . 993.5.65 Scalar fields > Color Scales Manager . . . . . . . . . . . . 100