8.2 Le Comportement
8.2.2 Solutions retenues et optimisations
Bulles de potentiel
Vi i
Vi
ce
ce
Figure 8.5 : Lesfor es appliquées aux agents.
Nous avons hoisi de reprendre laméthode basée sur des hamps de for es
pour sarapiditéetson extensionaisée àdes agentsnon-pon tuels. Lase onde
ontributionprésentée dans[26℄est don ladénitionde hampsde for es sur des formes polygonalesutilisées pour al uler lesintera tions entre agents.
La gure 8.5 présente un exemple de for es appliquées à des agents pon -tuels (en rouge) et polygonaux (en gris). Nous avons étendu à des arêtes les
hamps de potentieloriginellementappliqués à des entités pon tuelles ou
ir- ulaires.Laformedu hamp résultantpour lesarêtes estarbitraire, maisnous
avons hoisidesellipses.Cesdernièrespermettentde al ulerlesfor esparune
simplesomme dedeux distan es pointàpointetsontdon très peu oûteuses
en terme de al ul. Les for es résultantes ontraignent les agents à s'é arter
lesuns des autres età s'éloigner des obsta les xes.
Nous avons hoisi, par volontéde réalisme, de réer une dissymétrie entre
onsi-En revan he, nous avons permis les intera tions entre agents polygonaux,
notammentdans le as d'agents déformables. Lafor ed'intera tion appliquée
a un agent situé à une distan e
d
est une for e de type élastique dont voi i l'équation:F = k(R − d)2
− z ˙d
(8.1)˙
d
est la dérivée première de ladistan e,k
est la raideur de la répulsion,z
est l'amortissementetR
lerayond'inuen e.Au unefor en'estappliquéeaudelà deR
.Nous proposons une évaluation adaptative de es for es, ompatible ave
less énarios denses et les simulationsintera tives. Chaque agent pon tuelou
polygonalprend en ompte lesfor es générées par ses voisins (d'autres agents
ouobsta les). Notre stru ture séle tionne naturellement les arêtes des agents
polygonaux qui ontribuent dans es hamps de for es, évitant des al uls
inutiles. Eneet, les voisins dont on va al ulerl'inuen e, sont dans le
One-Ringdes ellules qui ontiennent un agent.
N'importequelautremodèle physique peutêtre utilisé,à onditionqueles
Shapemat hing
Figure 8.6 : Lapro éduredushapemat hing.[23℄
Con ernant la gestion de la déformation des agents, nous avons retenu la
méthode du Shapemat hing présentée par M.Müllerdans [23℄.Cetteméthode permet de maintenir la forme d'un ensemble de point qui subit des
déforma-tions durant une simulation. Les algorithmes proposés permettent de gérer
l'élasti ité et la plasti ité ave laquelle la forme d'origine est maintenue. Le
fait de onsidérer uniquement des points permet de s'extraire du on ept de
maillageet de simplierle modèle.
La gure 8.6 présente l'algorithme du shapemat hing. En partant d'un ensemble de points au repos
x0
1...4
et de e même ensemble déforméx1...4
, on al ule la rotationR
de la forme de repos qui orrespond le plus à la forme a tuelle.Àpartirde etterotationoptimalerigide,onpeutappliquerunfa teurde plasti ité
β
qui va déterminer un ensemble d'obje tifsg1...4
a atteindre. Un se ond paramètreα
d'élasti ité nous permet de dénir à quelle vitesse les pointsx1...4
vont onverger vers leurs obje tifs respe tifsg1...4
. On termine ainsiave un ve teurvitesseàappliquerà haque pointpour retournervers saformed'origine.
Optimisation : anti ipation des objets rapides
Lors de nos tests, nousavons remarquéque lorsdesituationsde forte
den-sité, ilarrivaitquelesagentspon tuels n'aientpas letempsd'éviterlesagents
polygonaux trop rapides. Cela est dû à la orrélation dire te entre
enregistre-mentetvisibilité. Étantdonnéqu'un agentne voitquedansson One-Ring
Figure 8.7 : Un agent polygonalse dirigerapidement vers unefoule ompa te.
Lorsquel'onestau entred'unefoule ompa te,onnevoitpasàdistan eet
onnepeutdon pasanti iper.Seulslesagentsenborduredelamasse ompa te
peuvent initier un mouvement de foule. Ce phénomène peut être onsidéré
omme réaliste. Cela dit, les agents en périphérie ont souvent une visibilité
trop restreinte pour réer les mouvements de foule né essaire au passage de
l'agent polygonal.
La gure 8.7 présente une de es situations où un agent polygonal (en bleu) sedirige rapidement (ve teur vitesse en orange)vers une foule d'agents
pon tuels ompa te.Les ellulessur fondvert ontiennentl'agentpolygonalet
ellesur fondbleu onstituentson One-Ring.Lesagentsenrougene déte tent
pas l'agent polygonal et ne le prendront pas en ompte pour leur al ul de
traje toire. Les agents en jaune déte tent l'agent et peuvent se préparer à
l'éviter.
Notre solution onsisteà étendre l'enregistrement d'un agentpolygonalen
fon tion de sa vitesse. Nous enregistrons don pour haque agent polygonal
unearêtevirtuellesupplémentaire,dontlesextrémitéssontson bary entre(ou
le bary entre de sa tête ) d'une part et la pointe de son ve teur vitesse
d'autrepart.
Lagure 8.8présentel'extensionde l'enregistrement.On peut voirqueles agents perçoivent l'agent polygonal de manière plus anti ipée. Les agents en
rosesonttroppro hes del'arêtevirtuelleetsontdon dire tementsurlaroute
de l'agent polygonal. Nous leur avons ajouté un eet de panique qui donne
prioritéà l'évitementde et agentet leur permet une a élération soudaine.
Figure 8.8 : Enregistrement étendu del'agent polygonal.
de réerune per ée dans lamasse ompa te d'agents.
Dansle as d'agentspolygonauxtrès largesdans ladire tionorthogonaleà
leur dépla ement, e système ne sut pas ar la per ée réée est trop étroite.
Pour de tels agents, une solution est d'enregistrer 2 arêtes pour former une
pointe permettantune per ée susamment large.