calcul des volume d'objet 3d représenté par des maillage triangulaire
c'est un sujet sur lequel je vais faire de la recherche mais je ne sais pas par où commencer. Quelqu'un connait-il des bonnes documentations/sites à ce sujet ?
MERCI 8) :wink:
Version imprimable
calcul des volume d'objet 3d représenté par des maillage triangulaire
c'est un sujet sur lequel je vais faire de la recherche mais je ne sais pas par où commencer. Quelqu'un connait-il des bonnes documentations/sites à ce sujet ?
MERCI 8) :wink:
Afin de réduire la dimension du problème, j'utilise le théorème de (Mikhail Vasilevich) Ostrogradsky.
Somme {volume} [ (div (U)) . dtau] =
Somme {surface qui entoure le volume} [ U.dS ]
si maintenant on choisi un champ vectoriel U tel que div(U) = 1 alors
Somme {volume} [ (div (U)) . dtau] = Somme {volume} [ dtau] = Volume d'où
Volume =Somme {surface qui entoure le volume} [ U.dS ] si div(U)=1
comme, si U = Ux i + Uy j + Uz k, div(U) = @Ux/@x + @Uy/@y + @Uz/@z on peut prendre pour U des champs vectoriels tels que:
U(x,y,z)=x.i ou U(x,y,z) = y.j ou U(x,y,z)=z.k ou U(x,y,z)=1/3(x.i+y.j+z.k) ou ...
< on le choisi en fonction des symétries du volume à étudier afin de simplifier au plus le calcul de l'intégrale de U.dS: Le résultat ne dépend pas du choix tant que div(U)=1 ! >
Une des applications les plus connues de ce théorème est surment le lien entre l'équation de Gauss ( Somme E.dS = Rho / Epsilon0 ) et l'équation de maxwell
div(E) = Rho / Epsilon0
- Note : on utilise de façon analogue le théorème de Stokes pour le calcul d'aire afin de se ramener sur le contour de l'aire
Somme{surface } [rot(A).dS] = Somme{ contour surface} [ A.dl ]
on choisi alors un champ vectoriel A tel que rot(A) soit normal à la surface et de module 1 => pour une surface plane dans le plan xOy S =
somme {contour} y.dx = - somme{contour} x.dy = 0.5 * somme{contour}(y.dx-x.dy)= ... Ceci a déjà été discuté dans un des mes
précédents topics -
Ceci ne réponds pas directement à la demande mais la déplace entre un espace 3D à un espace 2D où , évidemment, les temps de calculs, la stabilité des résultats, ... est plus stable et plus rapide.
Il s'agit maintenant de mailler la surface intelligemment afin d’arriver à ses fins, ce qui est en général bien plus simple et rapide que de mailler le volume en son entier. A chaque élément de surface il faut aussi associer le vecteur normal N ( en faisant attention de l'orienter correctement ( tous dans la direction IN -> OUT ou OUT->IN mais pas de mélamges !!!)
vous avais presque parlez du tout mais moi j'ai pas compris rien :cry: est ce que vous pouver m'aider avec une documenttion SVP
:D pour mieux te situer il faut d'abord comprendre ce qu'est 'UN MAILLAGE TRIANGULAIRE si c'est pas encore le cas biensur :)
voir
ce lien
Il y a bien plus simple: on calcule le volume de chaque prisme à trois cotés depuis un plan horizontal (niveau zéro, par exemple) jusqu'à la maille. Si la maille est orientée vers le haut, ajouter ce volume au total, sinon le retrancher.
Attention simplement au risque d'overflow comme toujours quand on cumule des valeurs (qui peuvent être assez grandes suivant la taille des mailles et leur distance par rapport au plan de référence).
Pas d'accord...
Bien sur cela marche mais
Soit on peut intégrer le résultat comme pour un cône, une pyramide, une sphère, ...
Soit on peut utiliser le théorème de Gulbert et Waage pour de volumes engendrés par rotation
Soit toutes autres "astuces" ( décomposition en sous-volumes, ... ) : si on peut avoir une expression algébrique on est, bien entendu, dans une situation bien préférable.
Pour un calcul Numérique il est INUTILE de mailler le volume. Seul un maillage de la surface est NECESSAIRE. Cela réduit considérablement le problème, les temps de calcul, les erreurs d'arrondis, ..., surtout si les volumes sont complexes de forme avec étranglements, ...
Sauf si on a les valeurs de tous les dTau, autel cas on fait une adition, numériquement sommer A. dS est plus sur que V d Tau.
Je ne vois par une raison significative de maintenir un calcul 3D si un calcul 2D est à disposition, d’autant plus que dans bien des cas les volumes sont définis à partir de leur surface externe.
Je suis tombé sur une implémentation du théorème de Gauss en 2D et en 3D sur ce site :
Area and Volume Calculations
Les opérations mathématiques sont bien expliquées, et semblent bien adaptées dans le cas d'un maillage triangulaire.
Bonjour,
d'un point de vu algorithmique, je te conseillerai de faire une décomposition de ton volume ne sous volume convexe.
Ensuite le problème est trivial.
+1.Citation:
Envoyé par johnnyjohnny
L'application du théorème de Gauss est a la fois simple et rapide. Seule chose, il faut avoir les "normales" des triangles pour savoir si on doit ajouter ou soustraire les volumes elementaires.
Bonjour,
moi aussi je viens de commencer un sujet de recherche sur l'indexation des objets 3D, et le premier problème sur le quel je me suis tomber c'est : Comment obtenir l'ensemble des trinagle d'un maillage triangulaire, si quelqu'un a une idé merci de me la communiquer.
the_king : j'aimerai bien entrez en cantacte avec vous, pouvez vous me communiquer votre email ?
Contrairement à mes précédents messages,
ce n'est pas le signe de l'aire des surfaces qui donne l'orientation.
En fait pour un polyèdre, il faut orienter les surfaces de proche en proche dans le même sens, direct ou indirect, en modifiant le sens de parcours des sommets d'une face s'il le faut.