Partager l'article ! Competence en programmation: Dans le cadre d'un projet de Simulation numérique sur le "Maillage et méthodes d’adaptation", j'ai dû mailler m ...
Dans le cadre d'un projet de Simulation numérique sur le "Maillage et méthodes d’adaptation", j'ai dû mailler m'a photographie (noir et blanc) de trombinoscope à partir de la variation de niveau de gris de celle-ci afin de pouvoir se visualiser grâce à un maillage fin au niveau des contours et des traits du visage, et un maillage grossier, là où la variation de gris est faible. Ce projet m'a permis de visualiser ce qu’est l’adaptation de maillage, et ainsi découvrir son utilité.
Les programmes nécessaire pour la réalisation de ce projet sont : .env
.data
.h
1 – Création du fichier.data et .env
La création de ces deux fichiers va permettre d’obtenir une base de maillage afin de la remailler par la suite en adaptant le maillage à la photographie.
1 – 1 – Création du fichier.data
Cette partie du programme permet de créer le fichier .data dans lequel je définis toute la géométrie de la figure à mailler. A l'initiale nous créons une base rectangulaire avec un quadrillage
régulier pour que se maillage soit pris en considération par BL2D.
1 – 2 – Création du fichier.env
Dans cette partie, je crée le fichier.env nécessaire à BL2D. Ce fichier demande à l'utilisateur la taille du maillage d'adaptation et appelle les différents programmes de BL2D.
1 – 3 – Résultats
Grâce à ces deux fichiers, il est alors possible de visualiser un quadrillage régulier de notre rectangle. C’est la première étape de notre projet.
2 – Création du fichier.h
Le but maintenant est de créer un fichier.h qui va permettre de remailler ce rectangle suivant des tailles spécifiques. Il faut par conséquent suivre les étapes suivantes :
Création d’un fichier.mesh permettant de récupérer les niveaux de gris de chaque photo (fichier fournis par M. BOROUCHAKI)
Récupération des niveaux de gris du fichier.mesh
Pour un point donné, on fait la différence du niveau de gris de ses voisins avec son niveau de gris afin de définir la courbure du point.
On applique cette méthode à l’ensemble des sommets du maillage
En chaque point, nous définissons alors une taille de maillage : une grande taille pour une petite différence de niveau de gris et une petite taille pour une grande différence de courbure.
Cette taille sera alors définit dans un fichier.h
3 - Résultats
J'obtiens alors le résultat suivant concernant ma photo:
Nous remarquons donc que lorsque nous améliorons la fonction (1.5t au
lieu de 1t), nous obtenons de meilleurs résultats, plus précis. Il est encore possible d’améliorer cette précision, cependant le manque de mémoire m'en empêche comme le montre le maillage
suivant. L'adaptation de maillage de ma photo n'étant pas évidente, on peut visualiser le résultat sur un deuxième exemple:
| Mai 2012 | ||||||||||
| L | M | M | J | V | S | D | ||||
| 1 | 2 | 3 | 4 | 5 | 6 | |||||
| 7 | 8 | 9 | 10 | 11 | 12 | 13 | ||||
| 14 | 15 | 16 | 17 | 18 | 19 | 20 | ||||
| 21 | 22 | 23 | 24 | 25 | 26 | 27 | ||||
| 28 | 29 | 30 | 31 | |||||||
|
||||||||||