previous up next top index
Précédent : Surfaces paramétriques Remonter : Maillage de surfaces Suivant : Décomposition de domaine


Surfaces polyédriques

Le problème est de construire un maillage isotrope ou anisotrope d'une surface définie de façon discrète par une triangulation et éventuellement quelques informations de nature géométrique (présence de points singuliers ou coins, d'arêtes singulières ou arêtes vives, etc.) fournies par la CAO.

Le problème se décompose en deux parties. La première consiste à définir un support géométrique manipulable facilement par le mailleur. Ce support est construit soit à partir de la CAO directement quand cela est possible soit à partir d'un maillage suffisamment fin (où la finesse est fonction de la géométrie) de la surface. La seconde partie consiste à utiliser ce support pour remailler la surface initiale.

Le support géométrique se présente comme un ensemble de triangles aux sommets desquels les normales sont connues et de la liste explicite des singularités (coins et arêtes vives). Ces informations permettent de construire une représentation mathématique unifiée G tex2html_wrap_inline456 de la surface. Pour ce faire, on utilise des courbes de Bézier (polynômes de Bernstein) cubiques pour les arêtes et, par élévation du degré, on définit le carreau lui-même.

Une métrique intégrant les courbures et les directions principales en chaque point est calculée. Cette métrique, de nature géométrique, sera, le cas échéant, intersectée avec une métrique dérivée d'un calcul, pour définir la métrique servant à gouverner le processus de remaillage. De cette façon, on assure que la forme de l'objet sera préservée (au mieux).

La méthode de remaillage revient alors à remailler les arêtes singulières du maillage initial en sous-arêtes de longueur unité (dans la métrique) puis à remailler toutes les autres arêtes. À l'issu de cette étape, une optimisation par bascule d'arêtes, gouvernée par la métrique, est effectuée. Ensuite les points sont filrés et le processus est itéré.

Ce code a été écrit en Fortran90.