killer313
Messages postés1Date d'inscriptionvendredi 8 avril 2011StatutMembreDernière intervention 8 avril 2011
-
8 avril 2011 à 11:49
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
9 avril 2011 à 14:00
Bonsoir,
Je cherche désespérement de l'aide pour ce sujet sur lequel je n'avance pas du tout....
Thème : Animation de groupe
Mots clé : Simulation comportementale, animation de groupe d’agents autonomes, émergence,
Craig Reynolds a développé en 1986 un modèle d’animation pour coordonner le mouvement de groupes d’animaux de type vol d’oiseaux ou banc de poisson, nommés « Boids ».
A partir de règles de comportement extrêmement simples, des animations complexes en 2D sont produites avec un réalisme étonnant.
Règles de comportement :
Le comportement de chaque Boid est soumis à trois lois qui génèrent des forces s'appliquant sur lui et le font évoluer dans un monde peuplé d'autres Boids.
Ces règles sont:
• La séparation: deux Boids ne doivent pas se rapprocher trop près.
• L'alignement : tendance à se déplacer dans la même direction que ses voisins proches.
• La cohésion : tendance à se rapprocher du centre du groupe.
Il est possible de rajouter une règle de répulsion pour éviter des obstacles.
Gestion des Forces :
Chaque règle est traduite par une force qui va s'appliquer sur le Boid pour le faire évoluer dans le plan.
Force de Séparation Force d'Alignement Force de cohésion
Le Boid possède un angle de vision, et pour chaque force, une distance d'application est définie. Ce couple (angle, distance) définit la partie de l’espace qui l’influence
Modèle physique : Le Boid possède une masse, une position, une vitesse et une accélération. Pour calculer son déplacement au cours du temps, on considère la loi de la conservation de la quantité de mouvement:
En considérant cette somme constante pendant un pas de temps, on calcule :
Ce qui permet d’obtenir la position :
Pour éviter des problèmes au cas limites, la somme des forces et la vitesse sont bornées par une valeur maximale.
Le développement se fera de manière modulaire, en testant chaque partie séparément et en imprimant les résultats intermédiaires.