J'ai un maillage, des faces , des arêtes E et des sommets V , et j'ai une liste de contours de niveaux prédéfinis.
Quel algorithme puis-je utiliser pour construire les contours de la manière la plus efficace?
Un tracé du contour est illustré ci-dessus. Les lignes de même couleur ont la même valeur .
computational-geometry
visualization
Graviton
la source
la source
Réponses:
Cela peut être fait par une boucle sur chaque élément puis pour chaque élément une boucle sur les bords. Ensuite, pour chaque arête, déterminez la coordonnée d'un contour donné si elle traverse l'arête, c'est-à-dire vérifiez si le contour prend une valeur dans l'intervalle couvert par les valeurs des sommets. Si le contour traverse deux arêtes, tracez une ligne entre les coordonnées entre les points de croisement détectés sur les arêtes.
Faire cela pour tous les éléments créera les contours. Il est également possible d'affiner un maillage plus fin via une interpolation sur chaque triangle, puis d'utiliser une triangulation delaunay du maillage raffiné, puis d'appliquer la routine décrite ci-dessus pour obtenir une résolution suffisamment fine.
la source