Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TRIANGULATION 2D POUR MODELEUR 3D


Information sur la source

Catégorie :Maths Classé sous : triangulation, delaunay, 2d Niveau : Débutant Date de création : 19/04/2007 Date de mise à jour : 19/04/2007 12:53:37 Vu / téléchargé: 6 235 / 485

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Ce code est à l'origine un module que j'ai trouvé sur VbFrance (http://www.vbfrance.com/codes/TRIANGULATION-2D_18439.aspx) permettant de trianguler des domaines convexes par la triangulation de Delaunay. Je l'ai modifié pour qu'il maille des domaines non convexes. Il marche pour la plus part des profils, mais par moment la triangulation n'est pas correcte et je n'ai pas trouvé pourquoi. J'ai trouvé une source similaire sur planete code source (http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=35722&lngWId=1) qui n'est pas capable non plus de trianguler le domaine qui me pose problème.

Dans l'apli que je poste, vous trouverez le mode d'emploi sous forme de label sur la forme et deux boutons qui charge un domaine. L'un charge un domaine qui se triangule sans problème et l'autre charge le domaine qui me pose problème. Comme le but de ce code est de faire un modeleur 3D simplisimme, je ne pense par corriger le problème car les formes les plus conventionelles sont triangulées.

J'avoue un peu honteu que c'est un peu du barbar coding mais je suis assez limité par le temps. Les améliorations possibles seront: une gestion continue des triangles (adjacents...), permettre de trianguler des profils "percés"....
 

Conclusion

Attention le code ne permet pas d'obtenir un maillage correct pour la résolution d'EDP par éléments finis, il faudrait rafiner le maillage... En revanche j'ai trouvé beaucoup de sources en C++ qui le permettent. Au début je pensais faire une DLL avec celles-ci mais je ne connais pas grand chose au C++ et j'ai jamais réussi à compiler quoi que ce soit.

Voila je crois que j'ai tout dis
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

19 avril 2007 12:52:39 :
Titre plus précis
19 avril 2007 12:53:37 :
Titre plus précis

Commentaires et avis

signaler à un administrateur
Commentaire de Zzbehappy le 19/04/2007 00:54:33

J'ai oublié de dire la relation avec le modeleur 3D:
Comme la plus part le savent, les formes 3D sont formées de triangles et pour créer un volume à partir d'une esquisse j'avais besoin d'une fonction qui me transforme un domaine en une suite de triangles.

signaler à un administrateur
Commentaire de cuq le 19/04/2007 10:52:07

Et moi qui avait espérer avancer un peu sur le sujet :( malheureusement le titre est un peu abusif. pour du 3D ça ne gère toujours que du 2D  (X Y) on va encore attendre pour ça ...

signaler à un administrateur
Commentaire de cuq le 19/04/2007 11:03:10

Bon j'ai été un peu dur là ... dans certains cas c'est très intéressant. maintenant il a plusieurs cas ou le calcul plante ( points plus ou moins collinéaires)

signaler à un administrateur
Commentaire de Zakata le 19/04/2007 12:31:31

Pour le 3D tout dépend de ce que tu veux faire, il est vrai que le code ne géner pas directement un maillage 3D mais par exemple pour un cube, tu dessine un carré en x et y tu le maille avec le code et tu créer "à la main" les triangles sur l'axe des Z.

Cette méthode fonctionne quelque soit l'esquisse de départ en x y. C'est ce que je pense faire pour mon modeleur.

Sinon oui c'est vrai que pour les frontières formant un angle très faible le code ne fonctionne pas.

signaler à un administrateur
Commentaire de cuq le 19/04/2007 12:53:21

oui mais je ne suis pas certain que ta méthode fonctionne avec une ou des frontières intérieurs ?

signaler à un administrateur
Commentaire de Zakata le 19/04/2007 13:03:42

A non elle ne fonctionne pas pour ce type de profil, c'est ce que j'ai appelé les domaines "troués" ou "perés". En revanche le code est "facilement" modifiable pour qu'il le fasse.

C'est ni plus ni moins qu'un forçage de frontière. Il est possible d'utiliser l'algorithme de Borouchaki (implémenté dans le code que j'ai modifié et qui consiste à inverser la diagonale d'un couple de triangle coupant une frontière). Le plus difficile étant de savoir si la frontière est externe et interne, mais je pense qu'il faut chercher du coté de: "recherche de sous domaines de maillage."

Sinon si tu es intéressé par le maillage 3D (volumes fini ou surfacique) j'ai trouvé beaucoup de source en C++

signaler à un administrateur
Commentaire de Neron2005 le 01/05/2007 09:36:25

Je me suis penché sur la question pendant quelque temps et j'ai croisé la triangulation avec les api region, du coup ca gere les croisement les intersections et si on veut ca gere des intrusion dans le polygon d'origine.
Seule soussi ca prend un peu de memoire et les coordonnées des region sont declarée en temps que Long.

signaler à un administrateur
Commentaire de Neron2005 le 01/05/2007 13:15:01

Voila je l'ai mis sur vbFrance tu peut aller voir (http://www.vbfrance.com/code.aspx?ID=42528)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Triangulation Delaunay [ par lostindelaunay ] Bonjour, je suis débutant en C++ et je dois réaliser une triangulation de Delaunay d'un nuage de points aléatoire à afficher gr&#2 Triangulation de Delaunay et Diagramme Voronoi [ par sagaie ] Je suis à la recherche d'une personne qui aurait programmé la triangulation de Delaunay et le diagramme de Voronoi en VB et qui voudrait bien m'expédi Triangulation de Delaunay [ par lostindelaunay ] Voilà, je dois faire une triangulation de Delaunay en openGl/C++, mais je dois bien vous avouer que je ne vois pas du tout comment faire (je conn question de calcule de 2d a 3d [ par SgtJazz ] le but de ma question est pour arriver au resultat suivant:lorsque je clique avec ma sourir( le clique donnnera un x,y pour la position du curseur) j' map en fausse 3d et map en 2d [ par KL ] Comment tu fais pour que la map sur la vision 2d soit la meme que celle générée par le module 3d ?? mapping 2D [ par Dragon ] je suis en train de penser à créé un outil pour le mod que je fais sous Serious sam en Vb pour créé les map en 3D, mais à partir d`un outil en 2D pare afficher un bouton en 2D pour ne plus voir l'ombre [ par dominique ] merci à tous 2D-3D et 3D-2D [ par Bas ] Bonjour,Quelle DLL pourait me permettre de convertir un format 3D en format 2D et inverssement.Merci.mailto:bastien.mouget@wanadoo.fr dimension d'un tableau 2D [ par Kywalh ] Salut,j'aimerais savoir comment faire pour connaitre la borne sup d'un tableau en 2D. En fait, g un tableau: Tab(0 to 4, 1 to k)que je redimension 2D Games Maker [ par Ammoniak ] Il n'existe qu'un éditeur valable de jeux en 2D à mon goût: RPG Maker 2K, mais il ne permet que la réalisation de RPG.J'espère donc, avec l'aide de ce


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,796 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.