La différence entre une modélisation en 2.5D et en 3D
Une modélisation en 2.5D implique qu’à chaque point du sol défini par ces coordonnées planaires (x,y) correspond une seule valeur de z. Nous pouvons reformuler cela mathématiquement avec l’équation suivante : z=f(x,y). Un exemple pour illustrer l’utilisation de la 2.5D est les courbes de niveau (figure 4).
Les courbes de niveau sont des lignes imaginaires qui joignent tous les points d’un terrain se trouvant à la même altitude.
Chaque point de la courbe ne peut avoir qu’une seule valeur d’altitude. Contrairement à la 3D vraie qui permet d’avoir des altitudes différentes pour une même paire de coordonnées (x,y). Prenons l’exemple d’un pont, il ne sera pas possible en 2.5D d’affecter les valeurs du dessus et du dessous du pont. Plus généralement, la 3D permet la modélisation intérieure (de bâtiments, de sous-sols, de cavités) que la 2.5D ne permet pas.
Pour compléter l’analyse il est aussi possible de faire une différence entre la 2.5D et la 2D+H. Comme expliqué précédemment en 2.5D chaque point a une valeur unique de z mais chaque point peut avoir une valeur de z différente donc le relief est défini avec la précision qu’il y a entre deux points. La 2D+H est utilisée lorsqu’on extrude un polygone avec une valeur unique de hauteur. Voir figure 5 : BD TOPO® – représentation 3D du Havre.
Création d’une image solide
Qu’est-ce qu’une image solide
Le concept d’image solide a été présenté en septembre 2002 en Grèce lors d’un meeting de l’IPRS (International Society for Photogrammetry and Remote Sensing). D’après l’étude menée par Leandro Borna et Sergio Dequal (voir annexe 1), en connaissant l’orientation interne et externe d’une caméra et en considérant une image comme étant la projection d’un objet photographié, il est possible, pour chaque pixel de l’image de déterminer son axe de projection dans l’espace. Mais une image n’est pas suffisante pour déterminer les coordonnées 3D d’un point. En effet, la direction doit être associée à une distancesinon tous les points positionnés sur cette direction appartiennent au même pixel de l’image (figure 8).
L’intégration des données de levés scanner laser dans les données de l’image offre la possibilité d’associer une distance pour toutes les directions définies par chaque pixel. Cette distance est celle qui relie le centre de prise de vue de l’appareil et l’objet à modéliser. Cette distance avec la direction dans l’espace donnée par deux angles nous ramène à un système polaire 3D. Une image avec le système de radiométrie RVB associée avec les données d’un scanner laser forment ce nouveau concept : une image solide.
Structure d’une image solide
Les distances qui proviennent des données scanner sont stockées dans une matrice qui a les mêmes dimensions que les trois matrices R, V et B.
Ainsi une image solide est composée de quatre niveaux de matrices : RVB et la distance (figure 9). Pour les matrices RVB, chaque pixel est codé sur 1 octet alors que les pixels de la matrice des distances sont codés sur 2 ou 4 octets.
Représentation de l’altitude dans l’image
L’altitude dans une carte
Le format d’échange .r3s étant bien spécifique à l’utilisation du plug-in d’AutoCAD, il a fallu réfléchir à un autre moyen de stocker l’information d’altitude dans l’image. Il existe déjà plusieurs formes de représentation de l’altitude dans une carte.
Reprenons l’exemple des courbes de niveau cité précédemment. L’altitude des courbes maitresses est indiquée, puis elles sont équidistantes de 10m (figure 17). A l’aide des courbes de niveaux il est possible de dessiner des profils en long entre deux points déterminés sur la carte.
Il est quand même bon de notifier que cette représentation s’adresse à un public initié à la lecture d’une carte.
En complément des courbes de niveau, sur certaines cartes il est fréquent de rencontrer une autre représentation de l’altitude. Celle-ci ne nous indique pas une valeur précise d’altitude mais permet une meilleure compréhension de la carte, il s’agit de l’estompage.
L’estompage (figure 18) est la partie plus sombre qu’on aperçoit sur les cartes comme ci-contre. Elle symbolise l’ombre du relief éclairé par un soleil fictif se trouvant à 40° au-dessus de l’horizon côté Nord-Est.
Afin de faciliter la lecture des courbes de niveau, les lieux remarquables tels que les sommets, les cuvettes ou les changements de pente sont marqués par un point coté.
Un autre exemple de représentation altimétrique qui peut être en complément des deux premiers et l’utilisation de la couleur. La variation d’altitude peut être représentée en jouant sur différents facteurs : la teinte, la luminosité et la saturation.
TLS (Teinte, Luminosité, Saturation) est un système colorimétrique. Il sert à décrire toutes les couleurs que l’homme peut distinguer (qui ont une longueur d’onde comprise entre 400 et 800 nm).
La teinte est définie par un angle compris entre 0 et 360° alors que la luminosité et la saturation se définissent en pourcentage.
Voici un exemple de représentation altimétrique des communes françaises grâce à une variation locale de teinte allant du vert foncé (0-20 m) jusqu’au marron (+2300 m) en passant par un dégradé de couleurs (voir figure 20). De même, cette variation peut être faite avec la luminosité ou la saturation. Cette représentation est plus explicite que les courbes de niveau. Il est quand même nécessaire d’avoir l’échelle correspondante aux différentes teintes pour pouvoir donner une valeur d’altitude.
Solution choisie pour répondre à la problématique
Ne pouvant pas employer le format généré lors de la création d’une image solide, il est donc nécessaire d’utiliser les différentes options d’export d’ortho-image pour concevoir notre propre image solide.
Le logiciel PointR offre la possibilité de créer une carte planimétrique. C’est une ortho-image dont la variation d’altitude est représentée grâce à la variation de couleurs.
Processus d’importation des ortho-images
Génération d’ortho-images à l’aide de différents logiciels
PointCab
PointCab est une société allemande qui développe des logiciels de traitement de scans de levé 3D. L’avantage de ce logiciel est qu’il offre la possibilité d’être utilisé avec des scanners laser de différentes marques. En effet il est compatible avec FARO, Leica, Trimble et bien d’autres. Ce qui permet par la suite d’avoir un grand nombre de formats d’export pour s’adapter à un maximum de logiciel de CAO (Conception assistée par ordinateur).
Scene Faro
Faro est une société qui a été fondée en 1981 à Montréal au Canada.
Elle va rapidement trouver une place majeure dans le monde de la mesure 3D. Son siège est situé en Floride à Lake Mary mais elle possède plusieurs filiales à travers le monde (Europe, Amérique du Sud et Asie).
La société développe et commercialise dans logiciels et appareils de mesure et de numérisation assistés par ordinateur. Elle équipe de ces différents produits un grand nombre de petites, moyennes et grandes entreprises telles que : AIRBUS, AUDI, BOSCH,…
Les éléments nécessaires pour l’importation
Afin de pouvoir importer une ortho-images dans SolidWorks le fichier image seul ne suffit pas.
En effet, pour qu’elle soit intégrée dans le logiciel et géoréférencée il est nécessaire d’avoir un fichier qui contient les coordonnées de l’image. Cela permettra lors de l’importation de plusieurs orthoimages qu’elles soient automatiquement placées dans l’espace en 3D . Ainsi il est indispensable d’avoir un fichier image (au format .jpg), un fichier texte contenant les coordonnées de l’image et une seconde image sera nécessaire pour récupérer l’information d’altitude. Ces deux fichiers contiennent la même image mais ne seront pas au même format. La première au format JPEG sera celle qui apparaîtra dans SolidWorks alors que la seconde sera en BITMAP et ne sera jamais affichée.
Les formats d’images : JPEG et BITMAP
Bitmap est le format d’image le « plus brut » . Il est aussi appelé DIB (Device Independant Bitmap). Un fichier .bmp contient les données suivantes :
– en-tête 1 : les informations sur le fichier (l’identificateur de format, la dimension du fichier)
– en-tête 2 : les informations sur les données (largeur et hauteur en pixels, bit/pixel,…)
– la palette de couleurs utilisée
– les données
L’avantage d’une image au format .bmp est qu’il ne diminue pas la qualité de l’image car il peut en principe être compressé mais ce n’est généralement pas utilisé.
Le format JPEG (Joint Photographic Experts Group, le groupe qui l’a inventé) quant à lui provient d’une technique de compression. C’est le format le plus approprié pour compresser et envoyer des images (par e-mail par exemple). Il est bon de prendre en compte que généralement chaque fois qu’un fichier est enregistré au format JPEG, une nouvelle compression se passe avec une perte d’information.
Application à la problématique
Le format JPEG étant une compression de l’image initiale, il n’est pas approprié pour l’étude de la teinte des pixels. Pour cela il est préférable de travailler sur une image au format BITMAP. Mais sachant que ce format non compressé est beaucoup plus lourd aussi, lors de l’affichage de l’orthoimage dans SolidWorks, le JPEG est plus adéquat car il y a un gain de temps lors de l’ouverture du fichier.
Exemple dans le logiciel, le temps d’ouverture d’une même image en JPEG est quasiment instantané alors que pour le BITMAP nécessite une dizaine de secondes.
Le processus d’import d’ortho-images
Afin de pouvoir afficher les ortho-images dans SolidWorks il a fallu faire un enchainement de plusieurs étapes. Avant la création de ce plug-in chaque phase était faite « à la main » par l’utilisateur et cela prenait du temps et demandait beaucoup de manipulation. Aujourd’hui l’utilisateur n’a qu’à choisir l’ortho-image qu’il souhaite ajouter à son projet et le plug-in gère son importation. Bien évidemment ce processus est directement lié au logiciel SolidWorks et ne conviendrait pas à d’autres logiciels de dessin 3D.
Comment gérer et sauvegarder les ortho-images dans le plug-in
Gérer les ortho-images
Une fois les ortho-images ajoutées dans SolidWorks, le plug-in doit offrir des fonctions pour les gérer.
Tout d’abord à chaque insertion, les ortho-images s’ajoutent petit à petit dans une liste. Cette liste est ce qu’on appelle en langage informatique une CheckBoxList. En effet chaque petit carré se trouvant avant le nom de l’ortho-image est une CheckBox (une boîte qui peut être validée ou non). Lorsque la case est validée, l’ortho-image est visible dans l’espace de dessin de SolidWorks. A contrario, lorsqu’elle est décochée, l’ortho-image est non visible. Cette propriété joue sur la surface créée dans le dossier « Corps surfaciques » qui a la possibilité d’être caché ou visible. Comme vu précédemment, les ortho-images peuvent être ajoutées individuellement, par plusieurs ou directement en sélectionnant un dossier. De la même façon il est possible de supprimer les,orthoimages en les sélectionnant dans la liste.
Manipulation d’une image solide générée par R3
Grâce aux images solides générées par R3, plusieurs fonctionnalités ont été développées pour automatiser la modélisation en 3D.
Récupération de l’information d’altitude dans l’image
La propriété principale d’une image solide est de contenir l’information d’altitude dans chacun de ses pixels. Les différentes étapes permettant de récupérer cette information sont les suivantes.
Récupération de l’altitude
Pour chaque pixel sélectionné, nous avons ses coordonnées il est donc possible de récupérer la valeur de la teinte. Comme expliqué précédemment à chaque teinte correspond une altitude.
Cette valeur sera stockée durant les prochaines étapes et sera utilisée lors du dessin en 3D.
Projeté orthogonal du pixel
Une fois le chemin de pixel établi avec chacun une altitude, la prochaine étape pour aboutir à une représentation en 3D est de calculer le projeté orthogonale du pixel sur la droite. En effet, le but étant de modéliser une droite si nous gardons le chemin de pixel tel que nous l’avons obtenu dans la partie précédente nous obtiendrons un « escalier » (figure 39) et non pas quelque chose de rectiligne.
La triangulation de Delaunay
La triangulation de Delaunay est l’une des méthodes les plus populaires et les plus utilisées pour la génération de maillage. Prenons le cas pour la 2D, dans un plan contenant N points. La triangulation comme son nom l’indique est composée de triangles dont les sommets sont les points du plan. Avec une telle description, plusieurs triangulations sont possibles.
Définition de la triangulation de Delaunay
Comme indiqué dans son nom, cette triangulation a été inventée par le mathématicien russe Boris Delaunay en 1934. Pour N points, un triangle de Delaunay est un triangle dont ses sommets sont trois points du plan de façon que son cercle circonscrit ne contienne aucun autre point. La combinaison des triangles ayant ces propriétés forme une triangulation de Delaunay unique. Il n’est pas possible de définir une triangulation pour des points alignés. Enfin pour des points se trouvant sur un même cercle (ex : les sommets d’un rectangle) la triangulation de Delaunay n’est pas unique car les deux diagonales satisfont les propriétés d’un triangle de Delaunay.
Diagramme de Voronoï
Il serait difficile de parler de la triangulation de Delaunay sans aborder son lien avec le diagramme de Voronoï. Considérons à nouveau un ensemble de N points. Il est appelé cellule de Voronoï d’un point, l’ensemble des points du plan qui appartiennent à une surface qui est la plus proche de ce point que des autres. Chaque surface définie par un polygone convexe. Le pavage d’un plan contenant N points détermine ce qu’on appelle le diagramme de Voronoï. Soulignons que ce procédé a été inventé par un mathématicien russe G. Voronoï durant le XIXème siècle. D’autres scientifiques avaient étudié le problème précédemment dont Dirichlet (vers 1850) et plus particulièrement Descartes (1640) dans son traité sur la lumière, pour la fragmentation du cosmos. Aujourd’hui, les cellules de Voronoï sont utilisées pour l’étude de certains phénomènes naturels car elles sont assimilées à une notion d’espace vital pour certaines espèces vivantes.
Exemple avec trois points non alignés (figure 54) : les cellules sont trois zones déterminées par un angle défini par les médiatrices des côtés du triangle. L’intersection de ces droites donne le centre du cercle circonscrit.
Conclusion
Tout au long de ce travail de fin d’étude, il a fallu mettre en pratique les enseignements reçus au cours des années de formation à l’ESGT. Mais pas seulement car bien qu’ayant eu des cours de programmation, il a été nécessaire de s’adapter à un nouveau langage informatique le C# (C sharp) pour réaliser cet outil informatique. Les débuts ont été quelque peu laborieux mais après quelques semaines d’apprentissage ce langage était devenu compréhensible.
D’autre part, ce projet montre la place que peut avoir le développement dans un cabinet. Il est vrai que ce n’est pas la première idée qu’on peut avoir de la profession mais de plus en plus de cabinet commence à faire des développements en interne pour faciliter et améliorer leurs méthodes de travail. Geosat, avec l’initiative de M. Lionel RAFFIN, a déjà finalisé une dizaine de plug-in pour différents logiciels.
Concernant l’outil ORTHORAMA (nom donné au plug-in crée dans SolidWorks), les objectifs de développement ont été réalisés et le résultat aujourd’hui est un gain de temps colossal par rapport à l’ancienne méthode utilisée. Pour reprendre l’élément déclencheur qui a suscité le développement de ce projet, la modélisation des bâtiments d’Airbus, le technicien travaillant sur le dossier assure que le gain de temps aurait pu être de deux à trois mois. Ceci n’étant pas négligeable car dans le monde du travail on se rend compte que le temps est une denrée précieuse pour les entreprises.
L’utilisation d’ORTHORAMA ne se fait pour l’instant que pour répondre aux demandes de modélisation 3D, ce qui ne représente pour le moment pas la majorité des clients mais dans une vision future avec la procédure de BIM (maquette 3D) cela pourra trouver une place plus importante dans les activités du cabinet.
De plus vu les résultats satisfaisants, Geosat est en contact avec les sociétés Gexcel et FARO pour parvenir à une commercialisation du plug-in sur SolidWorks. Il est tout à fait envisageable que le plug-in soit dès la fin de l’année en téléchargement sur l’App Store de FARO. En effet, les sociétés tournées vers les domaines de l’industrie ont un réel engouement pour ce produit. Ces ambitions commerciales entraînent la nécessité de faire un installeur de cette première version.
Les perspectives d’évolution
Comme tout développement informatique, ORTHORAMA n’est qu’une version bêta et de nombreuses évolutions peuvent être effectuées. En effet, le partenariat avec des sociétés telles que Gexcel laisse imaginer la création d’un format d’image solide dédié uniquement à cet outil. Avec la possibilité de créer des images qui peuvent contenir l’information d’altitude d’une manière différente, de coder en RGB (sur trois canaux) pour pouvoir gérer les Z multiples et avoir une vraie 3D. Réalisation d’un plug-in de manipulation d’images 3D au sein de l’environnement SolidWorks Une autre possibilité est d’améliorer la détection du chemin de pixel en faisant évoluer l’algorithme de Bresenham qui pour l’instant suit une ligne droite mais pourquoi pas avec des courbes.
Enfin, en ce qui concerne le MNT, sa création est vraiment basique car ce n’est qu’un réseau de triangle, ça ne représente pas concrètement la réalité, il serait donc envisageable de faire un lissage par exemple à l’aide de spline 3D.
Ce travail de fin d’étude a posé les bases d’un outil de manipulation d’images dans SolidWorks. Il a prouvé son efficacité et son utilité durant les mois d’intervention. Cependant, j’espère que la société Geosat poursuivra sur ce projet pour le faire évoluer et pourquoi pas proposer un prochain TFE pour une version 2.0.
|
Table des matières
Introduction
Chapitre I. Définition d’une image contenant l’information d’altitude
1.1 Création d’une ortho-image à partir de nuage de points
1.1.1 Définition d’une ortho-image
1.1.2 Procédure de création d’ortho-image à partir d’un nuage de points
1.1.2.1 Le levé sur le terrain
1.1.2.2 Assemblage et nettoyage
1.1.2.3 Génération d’ortho-images
1.1.2.4 Le géoréférencement
1.2 Définition de la 2.5D
1.2.1 Notion de dimension
1.2.2 La 2.5D
1.2.3 La différence entre une modélisation en 2.5D et en 3D
1.2.4 Pourquoi la 2.5D dans notre problématique
1.3 Création d’une image solide
1.3.1 Qu’est-ce qu’une image solide ?
1.3.1.1 Structure d’une image solide
1.3.1.2 Gexcel et l’image solide
1.3.2 Exemple d’utilisation avec le plug-in AutoCAD
1.3.2.1 Création de l’image solide dans PointR3
1.3.2.2 Utilisation du plug-in dans SolidWorks
1.4 Représentation de l’altitude dans l’image
1.4.1 L’altitude dans une carte
1.4.2 Solution choisie pour répondre à la problématique
1.4.2.1 L’échelle
1.4.2.2 Le mode
Chapitre II. Processus d’importation des ortho-images
2.1 Génération d’ortho-images à l’aide de différents logiciels
2.1.1 PointCab
2.1.2 Scene FARO
2.1.3 Gexcel R3
2.2 Présentation de l’interface du plug-in
2.3 Les éléments nécessaires pour l’importation
2.3.1 Les formats d’image : JPEG et BITMAP
2.3.2 Application à la problématique
2.4 Le processus de création 2
2.5 Comment gérer les ortho-images dans le plug-in
2.5.1 Gérer les ortho-images
2.5.2 Sauvegarde des ortho-images
2.5.2.1 Qu’est-ce que le XML
2.5.2.2 Pourquoi utiliser le XML
2.5.2.3 Exemple de fichier XML
2.5.2.4 Application du XML au cas des ortho-images
2.6 Exemple d’utilisation
Chapitre III. Manipulation d’une image solide générée par R3
3.1 Récupération de l’information d’altitude dans l’image
3.1.1 Changement de système de coordonnées
3.1.1.1 La translation : le changement d’origine
3.1.1.2 Les effets de la rotation des axes
3.1.1.3 La combinaison de la translation et la rotation
3.1.1.4 Le changement de repère en 3D
3.1.2 Algorithme de Bresenham
3.1.2.1 Présentation
3.1.2.2 Fonctionnement de l’algorithme
3.1.3 Récupération de l’altitude
3.1.4 Le projeté orthogonal
3.1.4.1 Equation d’une droite
3.1.4.2 Projeté orthogonal
3.1.5 Retour dans le système de coordonnées général de SolidWorks
3.1.6 Dessin en 3D
3.1.6.1 L’ortho-image dans SolidWorks
3.1.6.2 Exemple d’utilisation
3.2 Création d’un MNT
3.2.1 Qu’est-ce qu’un MNT
3.2.2 De l’image solide à un MNT
3.2.3 La triangulation de Delaunay
3.2.3.1 Définition
3.2.3.2 Théorème de l’angle inscrit
3.2.3.3 Diagramme de Voronoï
Conclusion
Table des illustrations
Bibliographie et références web
Table des annexes
Télécharger le rapport complet