conception d'objets volant construits à l'aide de toiles par eric beaudry...
TRANSCRIPT
![Page 1: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/1.jpg)
Conception d'objets volant construits à l'aide de toiles
Par Eric Beaudry ([email protected])
http://planiart.usherbrooke.ca/~eric/ift763/
![Page 2: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/2.jpg)
Objectifs
Simuler en temps réel un cerf-volant et un delta-plane à l'aide d'une méthode inspirée de la physique mécanique
Comparer les méthodes d'intégration Euler et Verlet pour la simulation d'objets composés de toile
![Page 3: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/3.jpg)
Méthodes de simulation de toiles (tissus)
Principe de base Modélisation avec des particules ayant une masse
Maintenir les particules à une certaine distance cible
Fixer certaines particules (« Nails »)
Deux approches évaluées : Intégration Euler avec réseau de masses et ressorts
Intégration Verlet avec l'usage de contraintes de distances
![Page 4: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/4.jpg)
Exemple sur un drapeau
![Page 5: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/5.jpg)
Algorithmes d'intégration
Euler
a = somme des forces / mv = v
old + a * Δt
p = pold
+ v * Δt
vold
= v
pold
= p
Verlet
a = somme des forces / mp' = 2p - p
old + a * Δt2
pold
= pp = p'
Équivalence :
v = (p – pold
) / Δt
![Page 6: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/6.jpg)
Avantages
Euler Méthode simple Modélise bien la
physique Contrôle facile de la
vitesse
Verlet Méthode simple Modélise bien la
physique Contrôle facile des
contraintes sans avoir à jouer sur des vitesses
![Page 7: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/7.jpg)
Euler / réseau masses-ressorts
L'objet est morcelé en plusieurs particules : Position (P) Masse (m) Vitesse (V)
Les particules sont reliées à l'aide de ressorts Longueur au repos (r) Constante de tension (k) Constante d'amortissement (d)
![Page 8: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/8.jpg)
Ressorts
L = PA – P
B // Vecteur AB
V = VA – V
B // Vitesse relative
f = k (l – r) + d (V * L) / l //Force en Newton
F = L * f / l // Vecteur force
FA += F // Force sur A
FB -= F // Force sur B
Longueur au repos : r Longueur au repos : r
Longueur actuel : l
A AB B
![Page 9: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/9.jpg)
Verlet / contraintes de distance
L'objet est morcelé en plusieurs particules : Position (P) Masse (m)
Ancienne Position (Pold
)
Les particules sont reliées à l'aide de « Stick » (tige) maintenant une distance cible Distance cible (r)
![Page 10: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/10.jpg)
Contrainte de distance ( « Stick »)
r
Trop longAu repos
Trop court
r'r'
V = B – Ar' = | V |c = (r' – r) / 2P
A -= cV
PB += cV
A
B
A
A
B
B
![Page 11: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/11.jpg)
Contrainte de distance ( « Stick »)
A B C DÉtat initial
(création objet)
On tire sur D(application physique)
A B C D
A B C D
Iteration 1A B C D
Iteration n(fin)
...
A B C DA B C D
Les particules ont toutes subi un avancement d'environ le ¼ du déplacementinitiale de D
![Page 12: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/12.jpg)
Algorithme de satisfaction de contraines
SatisfyConstraints(Particules[1...n], Contraints[1...m], Nails[1...k]) :
Répéter 55 fois :
Cor[1...n] = Vector(0,0,0)
Pour i = 1 à m
V = Constraints[i].P2 – Constraints[i].P2; V *= (Constraints[i].r - |V|) Cor[Constraints[i].id1] += V * (Constraints[i].imass1) Cor[Constraints[i].id2] -= V * (Constraints[i].imass2)
Pour i = 1 à n
Particules[i].pos += Cor[i] Pour i = 1 à k
Particules[i].pos = Nails[i].fixedPos
![Page 13: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/13.jpg)
Algorithme principale
À chaque 1/100 seconde ApplyPhysic() // calcule les forces... ApplyVerlet() SatisfyConstraints(...) TestCollisions() Rafraîchir l'écran
![Page 14: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/14.jpg)
Les forces Gravité : G = 9.80665 N/s2
Vent : airDensity ~= 1.294217666 Kg/m3
Vel = (VA + V
B + V
C) / 3
Wrel = Wind – Vel
N = (AB) x (BC)
WreldotABxBC = N * wrel
K = airDensity * WreldotABxBC2 / |N|2
FA += k * N
FB += k * N
FC += k * N
A B
C
Wind
![Page 15: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/15.jpg)
Comparaison
Exécuter testDrapeau ... Verlet : 100 iter / sec Euler : 1000 iter / sec
![Page 16: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/16.jpg)
Conception du cerf-volant
Toile principale triangulaire
![Page 17: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/17.jpg)
Conception du cerf-volant (2)
Toile principale triangulaire avec dessurfaces triangulaires
![Page 18: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/18.jpg)
Conception du cerf-volant (3)
Particules « virtuelles » en haut et en bas pourmaintenir les côtés et le centre rigides
![Page 19: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/19.jpg)
Conception du cerf-volant (4)
![Page 20: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/20.jpg)
Cerf-Volant
Contrôle Bouger le point d'ancrage de la corde
![Page 21: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/21.jpg)
Conception du deltaplame
Toile principale triangulaire
![Page 22: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/22.jpg)
Conception du deltaplane (2)
3 particules virtuelles (haut, centre et bas) pour maintenirla rigidité des tiges latérales et centrale
![Page 23: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/23.jpg)
Conception du deltaplane :fixation de la personne
Le pilote modélisé est fixé sous le deltaplane par des «sticks» reliés à la structure rigide du deltaplane
![Page 24: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/24.jpg)
Contrôle du deltaplane
Le contrôle du deltaplane est fidèle à la réalité : c'est en déplaçant le poids du pilote qu'on peut contrôler la structure
Quand l'usager veut bouger, on change les longueurs au repos des «sticks» de maintien.
Ce changement exerce une tension et force une correction de la position du pilote sous le deltaplane
Puisque le pilote a une masse plus importante que le deltaplane, le mouvement du deltaplane est plus important que celui du pilote
Ainsi, de cette façon, l'usager arrive à modifier l'angle de piqué
![Page 25: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/25.jpg)
Collision avec le sol
Utilisation d'un champ de hauteur (« height field»)
Si la composante altitude d'une particule est inférieur au niveau du sol, on ne fait que corriger
Algo: Pour toute particule p
Z = terrain.getLevel(p.x, p.z) if(p.z < Z) p.z = Z
![Page 26: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/26.jpg)
Amélioration possible des collisions
Pold
Pnew
Correctionactuelle
Correctionaméliorée
![Page 27: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/27.jpg)
Limitations
La pression d'air n'est pas modéliséeIl n'est pas possible de modéliser une poche d'air
![Page 28: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/28.jpg)
Exemple : un parachute
Ce qui fait gonflé un parachute, c'est la pression d'air à l'intérieur
En utilisant le modèle actuel, un parachute ne se gonflerait pas et tomberait
Solution : ajouter des contraintes sur le contour
![Page 29: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/29.jpg)
Parachute
![Page 30: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/30.jpg)
Parachute (2)
![Page 31: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/31.jpg)
Parachute (3)
Hum...
![Page 32: Conception d'objets volant construits à l'aide de toiles Par Eric Beaudry (Eric.Beaudry@USherbrooke.ca) eric/ift763](https://reader035.vdocuments.pub/reader035/viewer/2022070309/551d9db5497959293b8d9a8c/html5/thumbnails/32.jpg)
Conclusion
L'utilisation de l'intégration Verlet avec des contraintes de distance est appropriée pour la simulation d'objets composé de toile