Salut,
j'aurais besoin d'aide pour écrire l'algo pour la création de l'arbre, ainsi que pour le parcours de l'arbre.
Merci
Exercice 1 Création du quad-tree
1. Charger les fichiers d’entrée.
L’image décrivant l’altitude est carrée et admet comme nombre de pixels coté un exposant de 2. Charger cette image.
Interprétez le fichier de description pour récupérer les paramètres qui y sont stockés.
2. Construction du Quad-tree
A partir de l’image, construire un quad-tree sur le principe suivant :
- On associe à la racine de l’arbre l’image entière.
- Si la partie de l’image d’altitude associée à un noeud admet des variations fortes (différence d’altitude
maxi > valeur indiquée dans le fichier de description), alors il faut subdiviser.
- Subdiviser consiste à découper la zone en 4 quartiers (NW,NE,SW,SE). Le noeud subdivisé admet
donc 4 fils à chacun desquels est associé un quartier de l’image (cf. figure)
+-------+-------+
| | |
| NW | NE |
| | |
+-------+-------+
| | |
| SW | SE |
| | |
+-------+-------+
Une fois ce quad-tree généré, chaque feuille est associée à une zone de l’image, on peut donc calculer une altitude
moyenne et une densité de végétation moyenne associée à cette feuille.
Exercice 2 Création du modèle géométrique du sol
1. Vertex-Array du sol
Réalisez une fonction qui construit un Vertex-Array stockant la géométrie du sol à partir des
altitudes stockées dans les feuilles du quad-tree. La construction des tableaux de description
de la géométrie pourront être réalisés en plusieurs étapes : un premier parcours de l’arbre pour
mémoriser les sommets (en évitant les doublons) et un second parcours pour définir les faces
du maillage constituant le sol.
2. Les problèmes de noeuds en T
Pour éviter les problèmes générés par les noeuds en T , la
fonction construira une liste de triangles énumérant tous les triangles formé par le centre de la facette carré et admettant pour autres sommets, deux sommets consécutifs du bord de la
facette (les triangles de couleurs sur la figure).