Bonjour tout le monde,
je cherche des documents et des librairies sur les modèles déformables (modèle masse-ressort, damping) dans le cadre d'un projet.
Merci
Tib0000
Bonjour tout le monde,
je cherche des documents et des librairies sur les modèles déformables (modèle masse-ressort, damping) dans le cadre d'un projet.
Merci
Tib0000
Pourrais tu etre plus precis ? La, ton sujet est tres tres vaste, tu cherches les equations physiques ? Comment les implementer ? Comment les mettre en oeuvre via un moteur physique ?
Bref, precise ta question et on y repondra avec joie
Oui en effet, pas vraiment précis tout ca ... Pour être plus clair sur ma démarche, c'est un sujet de l'on m'a proposé. L'intitulé exact :
Description générale : on s'intéresse aux déformations d'un objet sous un ensemble de forces.
On pourra s'intéresser à la simulation de vêtements.
Animation : Modèle masseressorts, damping, résolution implicite
Il n'y a pas d'objectifs précis, mais plutôt de faire une étude sur la déformation des objets. Pour cela notre étude doit reposer sur les modèles masse-ressorts ou damping. Bref, l'idée est de faire un maillage comportant des vertex "poids" liés entre eux par des "ressorts" et de mettre tout ca en mouvement en fonction du temps. Le gros du problème est de donner une structure entre ces poids et ressorts de façon a ce que les mouvements soient cohérents.
Les résultats qu'on peut essayer d'obtenir sont la déformation d'un bout de tissu sous le poids d'une bille par exemple, ou un effet de vagues, un drapeau dans le vent, ou des effets de "surfaces élastiques" ...
Hum, en espérant que ce soit plus clair
Et bien sache que coté equation physique, j'ai presque tout ce qu'il te faut, si ca n'est si la rigidité doit intervenir (d'ailleur je suis preneur si tu sais).
Pour la resolution, en deux passes : calcul des impulsions sur chaque vertex -> mouvement des vertex en fonction des impulsions.
Puis rendu/test de collisions et rebelote.
Pour le damping, il suffit d'ajouter des frootement dans ton calcul d'impulsions et le tour est joué.
ok merci. Je vois le principe "en gros" . Concernant les équations physiques en questions, tu as un lien ? (Pour la rigidité, si j'ai des pistes, je penserai à toi ;-) ).
Bon, il faut que tu considere tes objets comme des maillages de points.
Chaque point a une masse. Je te conseille de travailler en pas constant pour ta physique, avec une resolution des equa diff type euler.
A chauque frame, tu calcule ce qui est appliqué a chacun des points de ton maillage :
1/ le poid, une impulsion constante vers le bas.
2/ le frottement, un impulsion colineaire et proportionnelle au vecteur vitesse, sachant que le coeffiscient de proportionalité doit etre inferieur a 0, sinon tu va avoir des surprises
3/ les liaisions elastiques, la c'est plus complexe :
Tu dois definir une taille par default de tes laisons. Ensuite, tu applique une force proportionnelle a la difference entre la taille presente de ta liaison et de sa taille par default.
En, gros : F = k(x-l), ou l est la longueur par default de ta laison et x la taille courrante. k est un coeff de proportionnalité.
Note pour optimisation, calcul cette force pour chaque liaison et non pour chaque point de ton maillage, tu fera deux fois moins de calculs sur un maillage 2D.
Ensuite, tu peux sommer ces forces, et en deduire l'impulsion a appliquer a ton point : I = F*dt, ou dt est ton pas de simulation. Attention, ce qui va suivre n'est correct que pour des objects ponctuels, donc ca marche pour un maillage, mais aps pour les autres object de ton monde, pour plus d'infos sur les objets "volumiques" va voir le topic choc en rotation. Tu peux en deduire la vitesse de l'objet de la facon suivante : V(t+dt) = V(t) + I .
Il te suffit donc de deplacer tes objets grace a cette nouvelle vitesse que tu viens de calculer, en supposant qu'elle est constant durant dt (euler).
Merci pour vos réponses. Je commence à mettre tout ca en place.
Vraiment terrible le "FastLSM" !!!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager