Réalisé à l’automne 2023.
1ère Année de Master.
UE : M1IF37 - Animation en synthèse d'images
Durée : 1 mois.
Langage de programmation : C++ (utilisation de la librairie gkit2light)
Animation d'un tissu soumis à la force du vent. Utilisation d'un système masse-ressorts. Les ressorts sont des liens entre deux particules, une particule A et une particule B. Pour calculer les forces appliquées à chaque ressort, des informations sur ces particules (leur vitesse et leur position) sont nécessaires.
Outre la gravité, implémentation d'une force correspondant à la force du vent ; cette force est appliquée sur le plan Z.
En appuyant sur « m » + touches fléchées l'utilisateur peut déplacer le sommet gauche du tissu qui se déchire au bout d’un moment. La déchirure peut également se produire à n’importe quel moment. Il faut pour cela que la longueur entre deux particules soit supérieure à une valeur donnée (ici 1). Si cette longueur est dépassée, le ressort correspondant est supprimé.
Le tissu peut tomber sous l’effet de la gravité, en étant également soumis aux autres forces extérieures (vent). Dans le programme, le tissu est d’abord accroché, puis il se décroche au bout de deux secondes.
Quand un sommet du tissu entre en collision avec le plan, sa vitesse et son accélération sont mises à 0 et sa position devient celle du point de collision.
Quand un sommet du tissu entre en collision avec une sphère, sa vitesse et son accélération sont mises à 0 et sa position est mise en dehors de la sphère.
La collision avec la table est une collision entre le tissu et plusieurs cubes. Si un point du tissu entre en collision avec la table (c’est-à-dire si ses coordonnées sont à l’intérieur d’un des cubes), alors la vitesse et l’accélération sont mises à 0 et sa position est mise en dehors de la sphère.