Triangulation 2d gere les surfaces les plus complex

Soyez le premier à donner votre avis sur cette source.

Vue 11 645 fois - Téléchargée 1 094 fois

Description

Je me suis lancer dans la realisation d'un logiciel on va dire d'infographie et je me suis heurter a un probleme quand j'ai eut a gerer la creation de surfaces.
Ce code permet de faire la triangulation de tres nombreuse forme de polygone possible et imaginable.
On peut realiser un polygones qui s'entre croisent, on peut aussi creer l'intersection de plusieur polygone.

Je suis parti d'un module que j'ai trouvé sur VbFrance (http://www.vbfrance.com/codes/TRIANGULATION-2D_18439.aspx) qui utilise la triangulation de Delaunay. Puisque qu'elle ne triangulise que des surface convexe, j'ai du l'ameliorer un peu.

En faite, je l'ai croisé avec les api region de windows ainsi lorsque l'on triangulise le polygone, seule les triangle qui sont dans la region apparaissent. Ainsi en combinant plusieurs polygones on peut creer differente collision possible.
Bon il a falut aussi gerer les collision des bords du polygone entre eux et meme avec la triangulation initiale.

Bon en fin de compte ca fait 4 modules et 5 modules de class contre 1 miserable module dans la version initial.
c'est pour ca que la comprehension du code risque, a mon avis, d'etre un peu difficile.

Dans le Zip je met un prog qui utilise ma version de la triangulation. L'utilisation est assez bien comprhensible bien que ses capacité soit pour l'instant limitée.

Conclusion :


Voila il y a encore quelque truc que je doit ajouter dans les modules mais le prog marche pas trop mal.

Aussi, si la DLL est Manquante, il faut que vous la referenciez. Pour cela, aller dans le menu Projet, cliquer sur References et dans la list, il faut selectioner FZGlbVariable.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
5
Date d'inscription
samedi 24 novembre 2007
Statut
Membre
Dernière intervention
17 décembre 2007

slt, comment je peu recupérer ton code source? j'ai téléchargé le zip et g pas reussi a ouvrir lé fichier,en fait j'ai besoin du code de l'algorithme de triangulation de delaunay pour l'appliquer sur un nuage de pnt en utilisant le vba de l'autocad et mon probléme est: que c la 1ere foi ke j'utilise l'autocad et je metrise pas bien la programation :(
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Oui, comme ça ce sera complet.
Mais tes variables / types "public", si tu les mets dans un nouveau module (DLLModule_Variables.bas), cela aura le même effet.
Merci
Messages postés
63
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
1 décembre 2013

En faite dans ma DLL il n'y a que des declaration de type. Car pour les utiliser dans des fonction public de class les types doivent etre declarer dans une DLL.
Donc il n'y a rien de veritablement tres interessant dans ma DLL mais je peut tres bien la mettre.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Je répète ma question :
Peux-tu inclure à ton ZIP la définition (le projet) de création de la DLL.
D'après mes indices, il serait sur ton disque dans
C:\Program Files\Microsoft Visual Studio\VB98\Project\DLLFabrication\RegionDLL\PrjGlobalVariableDLL.vbp
A mon avis, puisque tu n'y fais appel que pour définir des tableaux de variables, on doit pouvoir aisément l'inclure à l'application elle-même (plus facile à transporter)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut
J'adore ce genre de source.
Ca peut être un bon début pour faire des calculs de surface.
Mais d'où provient la DLL ?
Ce serait ça qui serait interessant !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.