HAL Id: tel-01355619
https://tel.archives-ouvertes.fr/tel-01355619
Submitted on 23 Aug 2016
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of
sci-entific research documents, whether they are
pub-lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
Thomas Pitiot
To cite this version:
Thomas Pitiot. Outils multirésolutions pour la gestion des interactions en simulation temps réel.
Modélisation et simulation. Université de Strasbourg, 2015. Français. �NNT : 2015STRAD048�.
�tel-01355619�
N
◦
d'ordre: 3157
Laboratoire des s ien es de l'ingénieur,
de l'informatique et de l'imagerie
É ole Do torale Mathématiques,
S ien es de l'Information et de l'Ingénieur
THÈSE
présentéepour obtenir legradede
Do teur de l'Université de Strasbourg
Dis ipline / Spé ialité : Informatique
par
Thomas PITIOT
Outils multirésolutions pour la gestion des
intera tions en simulation temps réel
Soutenue publiquement le17 Dé embre 2015
Membres du jury :
M. Philippe MESEURE ...Rapporteur
Professeur àl'Université dePoitiers
M. Julien PETTRE ...Rapporteur
Chargé de re her he HDRà l'INRIAde Rennes
Mme. Céline LOSCOS ...Examinatri e
Professeure à l'Universitéde ReimsChampagne-Ardenne
M. Fabri e JAILLET ...Examinateur
Maître de Conféren eHDRà l'UniversitéLyon1
M. David CAZIER ...Dire teur de thèse
Jeremer ietoutd'abordDavidCazierquiasumeguiderdepuismonstage
deMaster 2jusqu'àlande mathèse.Ilm'alaisséunegrandeautonomietout
en sa hant apporter les onseils etle re ul né essaire auxmomentsadéquats.
Je remer ie également les membres de mon jury d'avoir a epté d'évaluer
mes travaux et tout parti ulièrement mes rapporteurs Philippe Meseure et
Julien Pettré.
Mer i à toutes les personnes que j'ai pu roiser durant es années dans
l'équipe IGG qui a onstitué le adre prin ipal de ette thèse. Un lin d'oeil
parti ulier à Sylvain Théry et Pierre Kraemer qui ont été mes guides
CGo-GNesques, ThomasJund etLionel Untereinerqui ont eu lapatien e de
m'ex-pliquer dans les moindres détails de leur travaux et Arash Habibi qui m'a
a ompagné (parfois tard dans la nuit) pour la réalisation de belles vidéos.
Unepensée parti ulièrepour Noura, Sabah,Étienne,Vasyl,Amir,Kenneth et
Alexandre ave quij'ai leplus é hangédurant e temps aulaboratoire.
Je tiens à remer ier l'équipe MIMESIS qui m'a haleureusement a ueilli
durantmadernièreannéedethèse.Jepenseparti ulièrementàStéphaneCotin
quiasuivide prèsmes travauxetquireprésentepourmoiunexempleàsuivre
dé ouvrirlesjoiesde l'enseignement durantdeux annéesàl'IUT d'Haguenau.
Mer iàmesamisStrasbourgeois(ouex-Strasbourgeois)quim'onta ueilli
dans ette belle ville et qui m'ont a ompagné durant ette aventure jusqu'à
lasoutenan e.
Mer i à Simon, Ya ine et l'ensemble de la team Cureuil pour la bonne
ambian e, les dis ussions innies et par e que, même de loin, le soutien ça
ompte.
J'aimeraiségalement remer ier ma famille.Tout d'abord, mes parents qui
m'ont donné très tt la uriosité s ientique et le goût de l'informatique. Ils
m'onttoujours laissé hoisir mavoietout en soutenantmes dé isions. Ensuite
mes frères et soeur qui onstituent pour moiun so le àtoute épreuve.
Enn, un grand mer i à Leslie ave qui j'ai la han e de partager mon
quotidien. Elle m'a a ompagné et soutenu depuis le début de ette thèse
jusqu'à la rele ture appliquée de e mémoire. Cet a omplissement n'aurait
pasété possiblesansles oupsdeboostsqu'elle m'aapportédanslesmoments
1 Introdu tion 1
1.1 Contexte etobje tifs . . . 2
1.1.1 La simulationetle temps réel . . . 3
1.1.2 Le modèle d'intera tions . . . 6
1.2 Contributions . . . 10
1.3 Plan du mémoire . . . 12
I État de l'art 13 2 Les requêtes de proximité en environnement partitionné 15 2.1 Introdu tion . . . 16
2.2 Lesarbres et lesgraphes . . . 17
2.2.1 Les o trees etquadtrees . . . 17
2.2.2 Binary Spa e Partitioning . . . 18
2.2.3 Diagrammede Voronoï / Triangulationde Delaunay . . 19
2.3 Lesgrilles de voisinage . . . 21
2.4 Lesgrilles d'enregistrementrégulières . . . 22
2.4.1 Le spatialhashing. . . 23
3 Les artes ombinatoires 25 3.1 Présentation des artes ombinatoires . . . 26
3.1.1 Représentation . . . 26
3.1.2 Plongements. . . 30
3.2 Les artes multirésolutions . . . 31
3.2.1 Multirésolutionexpli ite . . . 34
3.2.2 Multirésolutionimpli ite . . . 36
3.3 Utilisationpour lesrequêtes de proximité . . . 37
4 Suivi de parti ules 41 4.1 Contexte . . . 42
4.2 Algorithmes . . . 42
4.2.3 Dépla ement depuis l'état arête . . . 48
4.2.4 Dépla ement depuis l'état sommet . . . 49
4.3 Con lusion . . . 50
II Contributions 51 5 Enregistrement des entités 53 5.1 Enregistrement de parti ules . . . 54
5.2 Mise àjour de l'enregistrement des parti ules . . . 56
5.3 Enregistrement d'arêtes. . . 57
5.4 Mise àjour de l'enregistrement des arêtes . . . 59
5.5 Enregistrement de surfa es . . . 61
5.6 Mise àjour de l'enregistrement des surfa es . . . 63
5.7 Con lusion . . . 64
6 Gestion de la multirésolution 65 6.1 Introdu tion . . . 66
6.2 La subdivision . . . 67
6.2.1 Les parti ules . . . 70
6.2.2 Les arêtes etles triangles. . . 71
6.3 La simpli ation . . . 73
6.3.1 Cas des parti ules . . . 76
6.4 Con lusion . . . 77
7 Suivi de parti ules dans des maillages non- onvexes 79 7.1 Cas problématiques . . . 80
7.2 Solution . . . 81
7.2.1 Orientation depuisun volume . . . 83
7.2.2 Orientation depuisune fa e . . . 87
7.2.3 Orientations depuisune arête et un sommet . . . 89
7.3 Cohéren e ave lesenregistrements . . . 90
7.4 Con lusion . . . 91
III Appli ations 93 8 Appli ation 2D : la simulation de foule 95 8.1 Présentation du sujet . . . 96
8.2 Le Comportement . . . 98
8.2.1 État de l'art sur le omportement externe . . . 99
8.2.2 Solutions retenues et optimisations . . . .103
8.3.2 S énarios . . . 109
8.3.3 Résultats . . . 114
8.4 Con lusion . . . 118
9 Appli ations 3D 119 9.1 Le hallengede la 3D . . . 120
9.1.1 La simulationde foule 3D :exploration . . . 120
9.1.2 L'insertion d'aiguille . . . 123
9.2 Con lusion etremarques . . . 130
Con lusion 131 1 Rappel des ontributions . . . 132
1.1 Généri ité . . . 132
1.2 Cohéren e . . . 133
1.3 E a ité. . . 133
2 Perspe tives . . . 134
2.1 L'optimisationdes algorithmesexistants . . . 134
2.2 Les extensions omportementales . . . 135
2.3 Les autressolutions de représentation . . . 135
Introdu tion
Sommaire
1.1 Contexteetobje tifs. . . 2
1.1.1 La simulationetletemps réel . . . 3
1.1.2 Le modèled'intera tions . . . 6
1.2 Contributions. . . 10
1.1 Contexte et obje tifs
Simulation :
Lasimulationinformatiqueounumériquedésignel'exé utiond'un
pro-gramme informatique sur un ordinateur ou réseau en vue de simuler
un phénomène physique réel et omplexe.
Les simulations d'environnements virtuels a tuelles sont de plus en plus
nombreuses et ambitieuses.Ellesre oupent diverses s ien es tellesque la
phy-sique, la mé anique, la biologie et l'informatique pour des appli ations dans
desdomaines allantde laméde ine auxjeux vidéoen passantpar l'urbanisme
et le inéma. Elles né essitent de représenter des environnements vastes et
dynamiquesparfois très omplexes. On peut distinguer deux atégories de
si-mulations:
Lasimulation ontinue,ousimulationapriori,oùlesystèmeseprésente
sous laforme d'équations diérentielles à résoudre.
La simulation dis rète, ou simulation a posteriori dans laquelle le
sys-tème est soumis à une su ession d'événements qui le modient. Ce type de
simulations a vo ation à appliquer des prin ipes simples à des systèmes de
grandetaille. Lasimulation dis rètepeut être syn hrone ouasyn hrone.
Dansunesimulationsyn hrone, on al ulel'arrivée dupro hain événement,et
onne simulequed'événementen événement.Dansunesimulationasyn hrone,
onsimuleà haque fois le passaged'un pas de temps sur tout le système.
Nous dis uterons i i uniquement aux simulations dis rètes asyn hrones.
Par la suite le terme simulation sera utilisé pour e type de simulations.
Dans de telles simulations, les objets présents sont soumis à trois modèles :
un modèle de rendu qui détient l'aspe t des objets, un modèle physique qui
détient leurs propriétés physiques et un modèle d'intera tions qui permet de
déte ter les ollisions et les onta ts. Ainsi, si une ollisionentre deux objets
a lieu, le modèle d'intera tions la déte te et permet au modèle physique de
al ulerles hangements à appliqueraumodèlede rendu.
Nousnous intéresserons i iplus parti ulièrementau modèle d'intera tions
quis'est omplexiéaulde l'évolutiondes modèlesgéométriquesutilisés.En
eet, les simulations a tuelles n'utilisent plus uniquement des primitives
géo-métriquessimplepourreprésenterlesobjets.Ellesutilisentpluttdesmaillages
détaillésparfois très omplexespour avoirle meilleur rendu visuelpossible et
simuler laréalité auplus pro he. Dansun premiertemps, intéressons nous de
1.1.1 La simulation et le temps réel
Si diverses que soient les simulations, elles respe tent un s héma de
fon -tionnementgénéralrelativementstandard.Nousallonsprésenter i i e s héma
d'exé ution lassique d'un pas de temps de simulation en détail. Par la suite
nous dis uterons de la omplexitéde telles simulations.
Le pipeline de simulation
La gure 1.1 présente le s héma lassique d'un pas de temps d'une si-mulation physique intera tive. Dans un premier temps, des for es provenant
des périphériquesd'intera tionetdumoteurphysiqueet omportementalsont
appliquéesaux objets. Ces objets sontaltérés par es for es auniveau
géomé-trique (déformation, dépla ement), topologique ( oupe, fusion , ...) ou visuel
( ouleur, luminosité).
Une fois les objets altérés, la présen e de ollisions ou d'interpénétrations
est vériée. Cette étape pré ise,sur laquelle nous reviendrons plus en détails,
né essite une onnaissan ede l'environnement.Ainsi,déte ter les ollisions
re-quiert d'ee tuer pour haque objet des requêtes de proximitéave lesautres
entités environnantes parti ipantaux ollisions.Unefois es requêtesétablies,
onobtient pour haque objet lesentités potentiellement en ollision.On peut
don envoyer es informationsaumoteur physiqueet omportemental an de
al ulerles for es à appliquerau pro hain pas de temps.
Danslessimulationsnonintera tives,lesobjetssontsoitrégisparunefor e
globalequel'onsouhaiteobserver(gravité,équationphysiqueàtester,...) soit
autonomesave un obje tifàatteindre.Nousnous intéresseronsen parti ulier
à e as de simulationd'objets autonomes appelés agentsdans le adre de
Moteur physique et
comportemental
Périphérique d'interactions
(souris, clavier, ...)
Forces
Changements de rendu
(déplacement, déformation,
couleur, ...)
Détection de collision
Un pas de temps de simulation
informations
de voisinage
envoyées pour
le prochain
pas de temps
Figure 1.1 : S héma d'exé ution lassique d'un pas de temps d'unesimulation
Le temps réel ou intera tif
Certaines simulationspeuventêtre très omplexes.Ellespeuventné essiter
un rendu parti ulièrement pré is et de haute dénition ( inéma), des al uls
physiqueslourds(méde ine)ouen oreêtredessimulationspossédantungrand
nombre d'entités (jeux vidéos, simulationde foule).
Danstous les as, ils'agitde trouverun ompromisentre lapré ision
dési-rée pour la simulation etle temps d'exé ution qu'elle va né essiter. Certaines
simulations pour le inéma passent outre e ompromis et visent la meilleure
qualité possible,même silerendu doit être al ulé pendant plusieursjours. Si
enrevan helasimulationestintera tive(méde ine,jeuxvidéos),le ompromis
à faire prend toute son importan e. Pour e type de simulations, l'ensemble
des pro essus misen pla e doit s'exé uter en temps réel, 'est à dire qu'il ne
doit pas y avoir de laten e trop importante entre deux pas de temps de la
simulation.
Le tempsréel au sens premier n'étant jamaisatteint, onutilise le plus
souvent etermepourparlerdetempsintera tif.Letempsréelouintera tifest
un temps d'exé ution permettant l'intera tion via une ontrainte temporelle.
Selon lessimulations onre her hera un système temps réel stri t ousouple.
Pour le temps réel stri t, au un dépassement de la ontrainte temporelle
du système n'est autorisé. Ce système doit être en pla e pour les simulations
ritiquestelles que lessimulationsmédi ales tempsréel. Dansle as du temps
réel souple,la ontraintetemporelle doit êtrerespe tée pour une moyenne des
exé utions, en autorisant don quelques dépassements appelés lags. Cette
ontraintetemporelles'exprimesouslaformed'unefréquen edemiseàjourde
lasimulation.Ellevarieselon lesmodes d'intera tions utilisés.Silasimulation
est uniquement visuelle, il est onsidéré qu'une fréquen e de 30 pas de temps
par se onde est susante. Si la simulation propose un retour haptique en
revan he, ette ontrainte sera plutt xée autour de 1000 pas de temps par
1.1.2 Le modèle d'intera tions
Déte tion de ollision :
Utilisation d'algorithmes pour tester les ollisions (interse tion entre
solidesdonnés), pour al ulerlestraje toires,lesdates d'impa tet les
pointsd'impa tdans une simulationphysique.
Le modèle d'intera tions d'une simulation permet de savoirquelles entités
entrent en jeu dans la déte tion de ollision et de réaliser ette dernière. Les
entités qui entrent en jeux peuvent être très omplexes par leur forme, leur
topologie et leur évolution au ours de la simulation. Selon le type d'entité
traitée les onsidérations ne sont pas les mêmes. En eet, si l'on traite un
objet rigide, on peut pré- al uler un ensemble d'informations le on ernant
quine vont pas hangerau oursdu temps.En revan he, dans le as d'objets
déformables, ilest né essaire de mettreàjour es informationsrégulièrement.
Nous pouvons ainsi établir une é helle de di ulté de simulationselon les
ara téristiqued'un objet:
Objet statique : Objet dont lapositionn'est pas modiée.
Objet dynamique : Objet se déplaçantdurant la simulation.
Objet rigide : Objet dont laformene hange pas.
Objet déformable:Objetquipeutsubirdes déformationsgéométriques
grâ e à saplasti ité etson élasti ité( il peut être tordu oué rasé ).
Objet à topologie modiable : Objet pouvant subir des déformations
topologiques ommela outure ou ladé oupe.
Ces entités né essitent d'être approximées, au moins au niveau de la
déte -tion de ollision, si l'on veut pouvoir ee tuer la simulation en temps réel ou
intera tif. Voyons don les te hniques utilisées pour approximer es entités et
Boule
AABB
OBB
k-DOP
Enveloppe
convexe
Vitesse de calcul
Précision
Figure 1.2 : É hellede pré ision/vitessedesvolumes englobantsd'un objet.
La représentation des entités pour l'intera tion
Objet onvexe :
Un objet est dit onvexe si pour toute paire de points de et objet, le
segment qui lesjointest entièrement ontenu dans l'objet.
Il est ourant, et souvent né essaire, de hanger la représentation d'une
entité durantles diérentes étapesde lasimulation. Ainsi,un modèle n sera
utilisépour lerendunal tandisqu'unmodèlegrossierest souventutilisépour
les intera tions an d'a élérer les pro essus. Ce modèle plus grossier utilisé
orrespond soit àune version modiée de l'objetsoit àun volume englobant.
Ces volumesenglobantsprennentdiversesformesquel'onpeutrépartirsur
une é helle de pré ision/ oût omme illustré sur la gure 1.2. Plus le modèle est pro he delaformeréelledel'objetplusilest oûteuxà al uleretsimuler.
Inversement,pluslemodèleest simpleplusladéte tionde ollisionserarapide
mais impré ise. On retrouve sur ette é helle non-exhaustive :
Laboule englobante ommeméthode la plus rapide.
Laboîte englobantealignée sur l'axe(Axis Aligned Bounding Box).
Laboîte englobanteorientée (Oriented Bounding Box).
Le polytope à orientation dis rète de degré k (k-Dis rete Oriented
Cha unede esreprésentationsaleméritedefournirunereprésentation onvexe
de l'objet et on hoisira une représentation en fon tion du nombre d'objets à
traiteretde lapré ision désirée.Lastabilitéde l'objetsimpliéest également
à prendre en ompte. En eet, pour la simpli ation d'un objet déformable,
il faut être en mesure de per evoir les déformations. Il faut don avoir une
ertaine pré isionsans perdre en e a ité à ause des mises à jourfréquentes
du modèle.
Ces représentations plusoumoins simpliéesdes objets sont don utilisées
dans lesdiverses stratégies de déte tion de ollision.
La déte tion de ollision
Voisinage :
On appellevoisinagel'ensemble des entités onsidérées omme
poten-tiellementen intera tion ave une entité donnée.
Onpeut lasserlesstratégiesdedéte tionde ollisiondansplusieursgrandes
familles:les al ulsd'interse tionsentreobjetsrigides onvexes,leshiérar hies
de volumes englobants, les méthodes approximantes et lepartitionnement de
l'espa e.
Les méthodes réalisant des al uls d'interse tions entre objets
rigides onvexes se basent sur la onvexité des objets pour déterminer la
distan e minimaleentre deux objets.
Leshiérar hiesdevolumesenglobantspermettentdelimiterlenombre
detestsd'interse tionentre pairesd'objets.Lesvolumesenglobantsdesobjets
ou des parties d'un objet sont ainsi insérés dans une arbores en e. Si deux
volumes englobants ne s'interse tent pas, alors il n'y a pas de ollision entre
les deux objets. Les tests d'interse tions des boîtes englobantes sont fa ilités
si elles sont omposées de plans omme les boîtes OBB ou k-DOP. En
ef-fet, es plans permettent une appli ation dire te du théorème de l'hyperplan
séparateurde Minkowski.
Théorème de l'hyperplan séparateur de Minkowski :
SoitEun espa eanede dimension nie,
A
etB
deux onvexesdeE
non videset disjoints.Alorsil existe un hyperplan séparantA
etB
.Ce théorème s'applique par la présen e d'un axe séparateur entre deux
polyèdres onvexes
P
etP
′
disjoints,ave et axe orthogonalà :
une fa ede
P
une fa edeP
′
une arête de ha un des deux polyèdres
Les méthodes approximantes se basent sur des approximations de
repré-sentation pour fournir un résultatde déte tion de ollision en respe tant
tou-joursuntemps ritiqued'exé ution.Cesméthodespartentduprin ipequ'ave
une approximationsusante, un humain nedéte tera pas lesquelques erreurs
dues à es approximations. Parmi es méthodes, les méthodes sto hastiques
réalisent un é hantillonnagedes objetsàtester, soitàl'aidede parti ules
évo-luantà leur surfa e, soiten testant de manièrealéatoiredes paires d'éléments
entre objets.
Enn, les méthodes basées sur un partitionnement de l'espa e vont
réaliserune dé ompositionde l'environnementen sous-ensembles disjoints.Ce
partitionnement permet de tester uniquement les entités présentes dans un
ensemble de ellules voisines. Nous nous intéresserons parti ulièrement à e
genrede te hniquesetnouslesdétailleronsdansnotreétatdel'art.Nousavons
basé nos travauxde thèse sur une de es méthodes :les artes ombinatoires.
Quelque soit la stratégie hoisie, on peut dé omposer la déte tion de
ol-lision en deux phases. Une première phase de requêtes de proximités où l'on
her he àré upérer des informationsde proximitéentre lesentités pour
déter-minerdesvoisinages.Unese onde phaseoùl'ondéterminesidesobjetsvoisins
sont en ollisionou devront être inuen és onjointement.
Nous nous intéresserons i i tout parti ulièrement à ette première phase
de requêtes de proximité en explorant les diverses solutions proposées dans
la littérature. Nous présenterons par la suite la solution généraliste que nous
avons utiliséequi allielesfor es des diérentsmodèles de l'étatde l'art.
Notre obje tif prin ipalest de réaliserde manièreoptimaledes requêtesde
proximité entre objets (autonomes ou dirigés intera tivement) évoluant dans
une simulation en temps réel. Nous présenterons les atouts et dénirons le
Autres intera tions
Simulation de foule :
La simulation de foule est le pro essus de simulation du mouvement
d'ungrandnombred'entitésoudepersonnagesappelésagentsdans
un environnement virtuel. Ce termeest utilisé ommunément dans les
domaines de l'informatique graphique. Il est notamment destiné aux
lms etjeux vidéos.
Certainessimulationsvisentdesintera tionsautresqueladéte tionde
olli-sion.Parexemple,dansledomainede lasimulationdefoule,plusieurstravaux
se sont intéressés à des intera tions omportementales évoluées telles que la
réationde groupes de dépla ement ou l'évitement de zones de ongestion de
lafoule.
Cesintera tionsné essitentunenotionplusétenduedevoisinageave
éven-tuellement diérents niveaux. En eet, un agent ne peut pas éviter des zones
de ongestion s'il prend en ompte uniquement les agents les plus pro hes de
lui.Inversement,si un agenta un trop grandvoisinagepour déte ter de telles
zones,ses onsidérationsseronttropgrandespour ee tuerdemanièree a e
ladéte tion de ollision.
Cette notion de voisinage, qui est au oeur du sujet de l'intera tion, est
dire tement liée à la stru ture hoisie pour la déte tion de ollision. Nous
in-sisteronsdon parti ulièrementsur ettenotionetson impa tdansladiversité
de simulation.
1.2 Contributions
Nos travaux sont dans la ontinuation des travaux de T.Jund sur le suivi
en temps réel de parti ules dans des environnements partitionnés.
T. Jund a onçu des parti ules élémentaires apables d'évoluer dans un
environnementdé omposéen ellules onvexesen déte tantleurs hangements
de ellule.Ces travauxpermettent de suivre en temps réel es parti ules etde
déte ter les ollisions entre les parti ules et les ellules de l'environnement
désignées ommeobsta le.En revan he, es parti ules n'ont pas de notion
Nous avons réalisé des enregistrements permettant d'ee tuer la tâ he de
requêtes de proximité, fondamentale pour la déte tion de ollision des objets
entre eux,et non plus seulement entre lesobjetset l'environnement.Nos
tra-vaux peuvent être dé omposés en trois ontributions.
Enregistrementdetraje toiresdansunenvironnement omplexe:
La première ontribution majeure est la réation d'outilsétendant le suivi de
parti ulesen enregistranteten maintenantl'enregistrementd'entités dansdes
artes ombinatoires. Ces entités peuvent être des objets non-pon tuels tels
que des arêtes etdes surfa es.
Enregistrement multirésolution et densité de la simulation : La
se onde ontribution majeure est l'extension de es outils à des artes
multi-résolutions. L'aspe t multirésolution de notre arte d'enregistrement permet
de onserver des al uls de ollisions temps réel, dans des s énarios vastes
présentantungrandnombred'entités.Eneet, nousadaptonslatailledes
el-lulesd'enregistrementenfon tiondeladensitéd'objetsprésentsdans elles- i.
Nous onservons ainsi un nombre d'entités voisines borné au fur et à mesure
de la simulation. De plus, la multirésolution ore la possibilité de traiter des
voisinagesde diérents niveaux pour des intera tions plus omplexes.
Ces ontributions majeures permettent don de simuler en temps réel un
grand nombre d'objets pouvant être représentés par des parti ules, des arêtes
ou des surfa es, évoluant dans une subdivision de l'espa e en ellules dont le
degré de subdivision est adaptatif. Ces travaux ont été validés dans le adre
d'appli ationsutilisantdes maillagessurfa iques etvolumiques.
Dans le adre surfa ique,notre appli ationde simulationde foulefait
évo-luer des entités appeléesagents sur des surfa es adaptatives.
Dans le adre volumique, nos travaux ont été utilisés pour la simulation
d'opération médi ales utilisant des maillagesdé omposés en hexaèdres
défor-mables. Cette ontrainte de représentation, qui ne permet pas de garantir la
onvexitédes ellulesdurantlasimulation,nousamenéàétendrenotremodèle
de suivi de parti ules ades ellules non- onvexes.
Enregistrement dans des ellules non- onvexes :Ladernière
ontri-bution,plus te hnique, on erneainsi l'extensiondu modèle de suivide
parti- ulesdeT.Jundàdes ellulespotentiellementnon- onvexes.Nousavonsaaibli
la ontraintede onvexité à une ontrainte géométrique appelée BC pour
bien entré , permettant l'approximation de la ellule en un ensemble de
tétraèdres. Cette ontrainte sera présentée en détailsdans la partie7.2.Cette ontributionétenddon nos travauxd'enregistrement aux ellules BCetnous
1.3 Plan du mémoire
Les hapitres 2, 3 et4 présentent l'état de l'art des travaux on ernant la simulationen environnement partitionné.
Le hapitre 2 introduitles diérentes stru ture existantes pour ee tuer lesrequêtes de proximitédans une simulationen environnement partitionné.
Le hapitre 3détaillelastru ture quenousavons utilisépour es travaux de thèse : les artes ombinatoires.
Le hapitre 4 présente les travaux sur le suivi de parti ules en temps réel. Ces travaux sont notamment utiles pour optimiser les mises à jour des
stru tures de requêtes de proximité.
Les hapitres5, 6et 7présentent nos ontributions en détails.
Le hapitre 5 dé rit les te hniques utilisées pour ee tuer l'enregistre-ment des diérents objets dans notre stru ture, ainsi que le maintien de et
enregistrement durantla simulation.
Le hapitre 6 dé ritleste hniquesutiliséespour tenir àjour l'enregistre-ment lorsdu pro essus de multirésolution.
Le hapitre 7 présente la dénition de notre ontrainte BC et les exten-sionsréalisées pour lesuivi de parti ules dansdes maillagesà ellules
élémen-taires BC.
Les hapitres 8et9présentent lesappli ationsde nos travauxdans divers domaines de la simulation.
Le hapitre 8 montre nos résultatssur une appli ation de simulation de foule en 2D et 2D surfa ique. Ces simulations omportent un grand nombre
d'objetsdans des environnementsvastes.
Le hapitre 9 détaillenos extensions en simulationsphysiques 3D temps réel. Nous y dé rivons notre exploration de la simulation de foule 3D ainsi
qu'une appli ation médi ale en temps réel ouplée au moteur d'intera tions
physiquesSOFA. Cette appli ationmédi ale omporte un environnement
for-tement déformable, oùévoluent des outils hirurgi aux devant être modélisés
pré isément.
Enn, e mémoireseterminepar une on lusionportantsur l'ensemblede
Les requêtes de proximité en
environnement partitionné
Sommaire
2.1 Introdu tion . . . 16 2.2 Lesarbres etlesgraphes . . . 17 2.2.1 Leso treesetquadtrees . . . 17 2.2.2 BinarySpa ePartitioning . . . 18 2.2.3 Diagrammede Voronoï/ Triangulation deDelaunay 19 2.3 Lesgrillesde voisinage . . . 21 2.4 Lesgrillesd'enregistrement régulières . . . 22 2.4.1 Le spatialhashing . . . 23
Ce hapitre présente un panel des diérentes méthodes et stru tures
utili-sées dans lalittérature pour ee tuerdes requêtes de proximitéen
environne-mentpartitionné.
Nous allons distinguer les te hniques selon leur appro he géométrique ou
topologiquedelanotiondevoisinage.Nousverronsainsidesstru turesd'arbres
oudegraphes,desgrillesdevoisinagesetdesgrillesd'enregistrementrégulières.
2.1 Introdu tion
Nousrappelons i ique notre obje tif est d'ee tuer des requêtes de
proxi-mité entre diverses entités présentes dans une s ène. En d'autres termes, il
s'agitdere ueillirdes informationsdedistan e oud'interpénétrationentredes
pairesd'entités.
I i,nous utiliserons leterme entité pour parlerdu modèlede
représen-tationd'uneentité ommeprésentédans lapartie 1.1.2. Cesentités sont don pla éesdansunestru turepermettantd'obtenirdesinformationsdeproximité.
Noustraiterons uniquement des stru tures de partitionnement de l'espa e.
Un partitionnement de l'espa e onsiste à subdiviser l'environnement en
sous-ensembles disjoints. Il est réalisé soitde manière géométrique, en
subdi-visant l'environnement en ellules qui vont ontenir une ou plusieurs entités,
soit de manière topologique, en se basant sur les entités elles-mêmes et leur
adja en e.
Cette subdivision permet de tester pour la ollision uniquement les
enti-tés présentes dans un voisinage déni par un ritère. Par exemple, ertaines
te hniquesdénissentdeszonesdevoisinageparun ritèred'adja en e
géomé-trique,minimisantainsiladistan eentrelesentitésvoisines.D'autresutilisent
un ritèretopologiqueetré upèrentlesentités lesplus pro hes danstoutesles
dire tions, sans limitede distan e.
Ces diérentes appro hes semesurent en terme de nombre d'entité testées
etderapiditéd'a èsà esvoisinsdéte tés.Demanièregénérale,ilestpluslent
de déte ter les voisins les plus importants ave pré ision mais ette pré ision
diminue le nombre de tests à réaliser sur es voisins par la suite. Il onvient
don de hoisir laméthode en fon tion des tests quel'on désireréalisersur les
voisinsetdenotredénitiondevoisinage.Pourl'évaluationdesstru turesnous
noterons
N
d
lenombred'entitésdynamiquesd'unesimulationetN
f
lenombre d'entités xes.N = N
d
+ N
f
sera don le nombre d'entités total à simuler. On notera égalementN
m
le nombre moyen d'entités dans un voisinage. Ce nombredépenddeladensitédesentitésdanslas ènepour ertainesstru turesque nous allons présenter. Ave es notations, nous évaluerons la omplexité
temporelle de onstru tion ou de mise à jour des stru tures et la omplexité
temporelle de ré upérationdu voisinage d'une entité donnée.
Nousne présenteronspas i ilemodèlede artes ombinatoiresquisera
2.2 Les arbres et les graphes
Les arbres et les graphes orrespondent à une dé omposition irrégulière
de l'espa e. Cette dé omposition, entrée sur les entités présentes dans
l'es-pa e, est très utile pour représenter des environnements où les entités sont
distribuées de manière non-uniforme. Cette méthode de représentation très
répanduesoure d'un oûtdemise àjourimportantdanslessimulations
d'en-vironnementsdynamiques. Eneet, dans es s ènes, larépartition des entités
est onstamment en hangement. Ainsi, il est souvent moins oûteux de
re- onstruirel'arbrepartiellementouenentier.Cette onstru tionoumiseàjour
est réalisée en
O(N ∗ log(N))
à haque pas de temps [4℄. Certains travaux proposent des approximationspour réduirele oût eta élérer lessimulationsmais nous nous fo aliserons sur lessimulationsexa tes i i.
Con ernantl'a èsauvoisinaged'uneentitédonnée,onnoteunediéren e
entre lesarbres etlesgraphes. Eneet, ommemontré dans [9℄en appliquant
N
m
fois lare her he du voisin le plus pro he, ona un a ès pour un arbre est enO(N
m
∗ log(N))
. Pour les graphes tels que lesgraphes de Voronoï, l'a ès est enO(N
m
)
ar le voisinage d'une entité est dire tementlié à ette dernière et né essite d'être par ouru.Voyonsdésormaislesdétailsde esdiérenteste hniquesave desexemples.
2.2.1 Les o trees et quadtrees
Une méthode répandue en partitionnement 3D est elle des o trees qui
onsiste en une subdivision de l'espa e en huit sous-espa es en fon tion du
nombred'entitésprésentes. Lagure2.1montreun exempled'unetelle subdi-visionpour un modèle 3D de lapin. La ra inede l'arbreest le ube ontenant
tout l'espa e. En partant de ette ra ine, on rée 8 noeuds en subdivisant
l'espa e en 8 ubes selon les axes médians. Pour haque noeud, on répète le
pro essus jusqu'à e qu'un noeud soit videou qu'ilaitatteintun ritère
d'ar-rêt. Ce ritèrepeut être une tailleminimalexée ouun nombre de primitives
ontenues xé. Un telnoeud terminalest appeléfeuille.Nous avons don une
arbores en e ave des feuilles vides et des feuilles ontenant une se tion
élé-mentaire de la surfa e du lapin.
Ave ette stru ture, des algorithmes de par ours de l'arbre permettent
d'a éder auvoisinage d'une feuille.
Figure 2.1 : Exemplede partitionnementparun o tree.[25℄
2.2.2 Binary Spa e Partitioning
Le Binary Spa e Partitioning (BSP) est une méthode de partitionnement
de l'espa e en ellules onvexes séparées par des hyperplans. Ces ellules sont
sto kées dans un arbre binaire qui est rapide à onstruire et pour lequel les
a ès sont très e a es. L'usage de ette te hnique est répandu, notamment
dans le domaine des jeux vidéos. La gure 2.2 présente un exemple d'arbre BSP représentant une s ène.
Un as parti ulier de BSP souvent utilisé est le kD-tree[12℄.Ce partition-nement onsiste en un arbre BSP où haque noeud est un pointde dimension
k. A haque étape de la onstru tion, on séle tionne un point ou une entité
quiservira de référen epour ledé oupage de l'espa eselon un ertainaxe.Le
pro essusest réitérésurlesdeuxsous-espa es réésen hangeantd'axejusqu'à
obtenirdes feuillesne ontenant qu'un seul pointoudes feuillesvides.
Figure 2.2 : Exemplede partitionnementparunarbre BSP.
2.2.3 Diagramme de Voronoï / Triangulation de Delaunay
Un diagramme de Voronoï est un partitionnement de l'espa e à partir de
points appelés germes. Chaque ellule du partitionnement ontient un et
un seul germe et représente l'ensemble des points plus pro hes de e germe
par rapport aux autres germes. Un diagramme de Voronoï est le dual d'une
triangulation de Delaunay 2.3. Dans une telle triangulation, au un sommet d'un triangle n'appartient au er le ir ons rit des autres triangles. De plus,
haque sommetestreliéàses pluspro hes voisins.Cettestru tureparaîtdon
adaptée ànotre problème du fait de sa ohéren e ave la notion de proximité
et [20℄ fournit un algorithme en
O(N ∗ log(N))
pour sa onstru tion, quelque soitla distan e entre lesentités.Les travaux de Lamar he et Donikian [19℄ utilisent ette stru ture pour deux aspe ts diérents de leur simulationde foule 2D.
Leur première utilisationprends lessommets de l'environnement2D pour
réaliserune triangulation.Onextraitde ettetriangulationunedé omposition
en zones ir ulables pour réaliserla re her he de hemin.
Leur deuxième utilisation on erne notre problème de re her he de
voi-sins. Comme présenté dans la gure 2.4, haque entité pon tuelle représente un sommet de la triangulation de Delaunay. Cette triangulation est ensuite
ltrée ave un ritère de visibilité(segments en vert). Il en résulte un graphe
d'adja en e et de visibilité en noir qui permet de retrouver les voisins d'une
entité dire tement.
Figure2.3:UndiagrammedeVoronoïenrougeetsatriangulationdeDelaunayduale
ennoir.
2.3 Les grilles de voisinage
Figure 2.5 : Grille de voisinageave , en vert,unvoisinagede Moorede taille1.[3℄
Nousnousintéressonsi iàunestru ture apparue dans[3℄appelée grillede voisinage.Dans es travaux,les auteurs sesont intéressés aux simulations3D
de foulesgigantesques d'entités appelées boids.
La stru ture qu'ilsutilisent,présentée sur la gure 2.5, est une grilledans laquelle haque ellule ontient une entité à simuler. Les entités sont triées
dans la grille selon leur position dans l'espa e à haque pas de temps. Cette
grillepermet don d'a éderfa ilementaux boids pré édents et suivantsdans
touteslesdire tions autourd'un boid. Ce voisinage orrespond àun voisinage
de Moore sur ette grille.
Cette représentationaété utilisée pour réaliserdes simulationsde millions
d'entités sur GPU. Pour atteindre de telles performan es de simulations les
auteurs ont fortement paralléliséles pro essus sur GPU ave CUDA. Le
pro- essus de tri n'est réalisé que partiellement à haque pas de temps sur les
indi es pairs ouimpairs de la grille.
Cettete hniqueestdon impressionnanteparsesperforman es,en
permet-tant de simuler des foules gigantesques mais de manière impré ise. En eet,
les te hniques d'a élération peuvent amener à des erreurs de déte tion,
no-tamment le fait de ne trier qu'une moitié de la grilleà haque pas de temps.
De plus la notion de voisinage utilisée i i est très spé ique, et les auteurs
onsidèrentuniquementlesdeuxpremiersvoisinsdans haquedire tion.Cette
2.4 Les grilles d'enregistrement régulières
Nous allons voir i i des dé ompositions régulières de l'espa e à travers les
grillesd'enregistrementrégulières.Cettete hnique alquel'espa e(en3D)oule
plan(en2D)surune grille,dontles asesvont ontenirdes informationssurla
zonede l'environnement orrespondante. Ce type de stru ture non-adaptative
demeure lamême durant la simulationet fa ilitedon lareprésentation.
Dans de telles grilles, la notion de voisinage est souvent purement
géomé-trique. Les voisins sont don les entités présentes dans la même ellule de la
grillemais aussi elles présentes dans les ellules voisines. I i, selon la nesse
de la grille et la visibilité que l'on désire donner aux entités, on hoisira un
voisinage de Moore d'ordre1 ou2.
Certaines optimisationstellesque l'enregistrement des entités dansles
el-lulesvoisinesetladéte tiondes sortiesde ellulepermettent d'optimiser ette
te hnique. Eneet, dans e genrede modèle,toutes lesentités présentes dans
unemême elluleontlemêmevoisinage.À haque pasdetemps, haque entité
interroge don la ellule dans laquelle ellese trouve pour ré upérer son
voisi-nage. Ainsi, ette information qui orrespond à un par ours du voisinage de
Moore hoisipeutêtreenregistréepour haque elluleandene pasrépéterles
par ourspour haque entitéprésentedans une ellule.Ave etteoptimisation
les requêtes de proximité pour haque entité de la simulation sont en temps
onstantet sontdon évaluées pour toute lasimulation à
O(N
d
)
.La déte tion de sortie de ellule pour les entités permet de mettre à jour
lastru ture moins souvent. Il est en eet moins oûteux de déte ter les
han-gements de ellule pour haque entité que de les réenregistrer toutes. Si on a
une grillede M ellules, ladéte tion des hangements est en
O(N
d
)
etla mise à jour de toutes les ellules est enO(M ∗ N
m
)
. En pratique, selon la taille des ellules de la grille,très peu d'entités hangent de elluleet la omplexitémaximaleest don rarement atteinte.
Dans[30℄,lesauteursutilisentunedoublestru ture. D'une partune stru -ture hiérar hique de type quadtree pour ee tuer la re her he de hemin,
d'autrepart une grillerégulièrepour lesrequêtes de proximité.
Ces méthodes sont de manière générale très e a es, mais leur réussite
dépend grandement de la résolution hoisie pour la grille. Si les ellules de la
grillesont trop grandes, trop d'entités sont onsidérées omme voisines et les
al ulsexplosent.Silagrilleesttropne,lesentitéssont onstammententrain
Voyons plus en détaillaméthode de la littératurela plus e a e à e jour
utilisantune grillerégulière: le spatialhashing.
2.4.1 Le spatial hashing
Figure 2.6 : La boîte AABB du triangle traverse des ellules liées à la table de
ha hage.[32℄
Dans [32℄, Tes hner et oll. présentent un algorithme de spatial hashing permettant de déte ter en temps réel les ollisions et auto- ollisions d'objets
représentés par des maillages tétraédriques. Cette méthode repose sur une r
présentation simpliée de l'environnement par une grillerégulière
potentielle-mentinnie, asso iée à une table de ha hage.
L'algorithme se dé ompose en 3 étapes:
Tout d'abord les sommets des tétraèdres sont enregistrés dans latable
de ha hage selon leur position et lataille
L
d'une ellule de la grille. Dansunse ondtemps,on al ulelesvaleursdeha hagedes ellulestra-versées par lesboîtes AABBdes tétraèdres pour ré upérer lessommets
enregistrés à es indi es.
Les sommets ré upérés n'appartenant pas au tétraèdre sont testés par
oor-Lagure2.6présente laphase 2de et algorithmedansle as2D. Onpeut y trouver la boîte AABB d'un triangle et les ellules qu'elle re oupe grisées.
Les indexes de es ellules dans la table de ha hage permettent de ré upérer
un ensemble de sommets.
Cette méthode s'appuie sur l'e a ité des tables de ha hage en e qui
on erne leur apa ité à emmagasinerdes grandes quantités de données. Elle
fon tionnedon très bien même dans des environnementsvastes ets'applique
autant en 2D qu'en 3D. Toutefois, elle soure des mêmes problèmes de
réso-lutionque les autreste hniques reposantsur des grilles régulières. De plus, la
onsidérationduvoisinagepar les ellulesoùest présentelaboîteAABB d'un
tétraèdre ne permet pas d'éviter les ollisions mais plutt de les gérer après
Les artes ombinatoires
Sommaire
3.1 Présentation des artes ombinatoires . . . 26 3.1.1 Représentation . . . 26 3.1.2 Plongements . . . 30 3.2 Les artesmultirésolutions . . . 31 3.2.1 Multirésolutionexpli ite . . . 34 3.2.2 Multirésolutionimpli ite . . . 36 3.3 Utilisationpour les requêtes deproximité . . . 37
Nousprésentonsi ilastru turede arte ombinatoire,àmi- heminentreles
graphes etles grillesd'enregistrement,alliantlesfor es de es deux stru tures
que nous avons vues pré édemment.
Nous verrons dans un premiertemps la onstru tionet lesatouts de ette
stru ture, avant de nous intéresser à ses extensions multirésolutions qui sont
labase surlaquelle s'appuient nostravauxde thèse.Cetteprésentation,qui se
veut on ise,aété réaliséenotammentàpartirdes travauxde P. Kraemer[18℄ pour les généralités sur les artes, et eux de L.Untereiner [35℄ pour l'aspe t multirésolution.
Nous désirons utiliser ette stru ture omme représentation de
l'environ-nement, pour optimiser nos requêtes de proximité. Nous on lurons don e
3.1 Présentation des artes ombinatoires
Les artes ombinatoires sont un modèle de représentation topologique.
Ellespermettent de représenter un objet ouun environnement partitionnéen
ellulespartageant desrelationsd'adja en e etd'in iden e.Ainsi,un objetde
dimension
n
est dé omposé en un ensemble de k- ellules oùk ∈ [0, n]
est la dimension de la ellule. Une 0- ellule est don un sommet, une 1- ellule estunearête,une2- elluleestunefa e,une3- elluleestun volume,et ...Lebord
d'une k- ellule est un ensemble de (k-1)- ellules ave
k ∈ [1, n]
, une 0- ellule n'ayant pas de bord.Une ellule
a
estin identeàune elluleb
sia
faitpartieduborddeb
,ousib
faitpartieduborddea
.Cesrelationspermettentunereprésentationpurement topologiquedes objetssansau une notionde géométrie.Lelienàlagéométrieestrétablivial'utilisationd'unmodèlede plongement.Unplongementest une
informationquel onqueasso iée àune ellule dupartitionnement.Demanière
générale, les plongements sont utilisés pour asso ier une entité géométrique
à son équivalent topologique. Par exemple, on peut asso ier un point de
R
3
ave ses oordonnéesàune 0- ellule.Mais es plongementspeuventégalementontenir des informations plus ri hes, omme des notions physiques sur les
ellulesouen oredesenregistrementsd'entitésplongéesdansl'environnement.
Nousavons don un modèle dans lequel on séparefran hement lesnotions
topologiquedesinformationsgéométriques.Voyonsendétailslareprésentation
de es artes ombinatoires, etleur modèlede plongement.
3.1.1 Représentation
Les relations d'in iden e entre ellules permettent une représentation par
une graphe orienté appelé graphe d'in iden e. Les noeuds du graphe sont les
ellules,etles ar s sont lesrelations d'in iden eentre deux ellules ayant une
dimension d'é art. La gure 3.1 présente un graphe d'in iden e ontenant 2 fa es, 6 arêtes et 5 sommets en A, et un plongement géométrique potentiel
asso ié à e grapheen B.
On utilise plus souvent la représentation B ar elle donne une idée de la
d'in i-Figure 3.1 : Un graphe d'in iden e etun plongementpossibleasso ié.[18℄
Figure 3.2 : Lareprésentationparbrins en B orrespond aux hemins du graphe en
A.[18℄
Le modèle des artes ombinatoires généralisées ou G- artes propose une
représentation des quasi-variétés,orientables ounon, sans bord, à travers une
entité unique : le brin . Un brin orrespond à un hemin du graphe
d'in- iden e allantd'une ellule de plus grande dimension jusqu'à une 0- ellule en
suivant lesrelationsd'in iden e.
La gure 3.2 donne un exemple de représentation par brins en B ave les hemins du graphe orrespondant en A. On dénit i i que deux brins sont
i-adja entss'ilspartagent lesmêmes ellulesàl'ex eption de ellede dimension
i.Cetterelationd'adja en epermet dedénirune opération
α
i
permettantde trouverà partird'un brinson brin i-adja ent. Ilest importantde noterque laFigure 3.3 : Les relations
α
i
permettentde par ourir uneG- arte.[18℄Figure 3.4 : Lesk- ellules sontretrouvéesen utilisant lesrelations
α
i
.[18℄La gure 3.3représente une G- arte dont les ar s sont les relations
α
0
en pointillés,α
1
en trait plein etα
2
en doubletrait. Ces relationspermettent de par ouririntégralementla arteetderetrouverlesk- ellulesoriginelles ommeonpeutle onstatersurlagure3.4.Eneet,onretrouveunei- elluleàpartir d'un brin
b
en utilisant ré ursivement toutes les opérationsα
j
∀j ∈ [0...n]
etj 6= i
.Cetensembledebrinsqui ontientunei- elluleestappeléi-orbite.Ainsi, on a en A les 0-orbites en vert ontenant les sommets, en B les 1-orbites enbleu ontenantlesarêtesetenCles2-orbitesenrouge ontenantlesfa es.Plus
Figure 3.5 : Lareprésentationnaled'une 3- arte.[35℄
Enn, ettereprésentationaétéallégéeenselimitantauxobjetsorientables
sans bord dans les n- artes ombinatoires. Pour réaliser ette simpli ation il
sut de supprimer une des orientations présentes dans lesG- artes. Les deux
orientationsétant liées par larelation
α
0
un nouvel opérateurde par ours est réé :∀i ∈ [1...n] Φ
i
= α
i
◦ α
0
.Nouspouvonsdon dé rireformellementunen- arte ommele(n+1)-uplet
C = (B, Φ
1
, ..., Φ
n
)
aveB
un ensemble ni de brins,Φ
1
une permutation surB
et lesΦ
i
ave2 ≤ i ≤ n
sont des involutionssurB
[18℄.La gure 3.5 donne un exemple de la représentation d'une 3- arte. Dans ette représentation nale,lesbrins sont des è hes représentant leur relation
Φ
1
ave lebrin suivantdans une fa e.Les relationsΦ
2
reliantlesorbites fa es d'une même orbite volume, etΦ
3
reliant les diérents orbites volumes entres elles sontrespe tivement en rougeetjaune. Dans lerestede e mémoire, 'estettestru turequiserasous-ja entedansl'intégralitédesmaillagesreprésentés.
3.1.2 Plongements
Lesplongementsquenousallonsprésenter sontnotammentla ontribution
des travaux de thèse de SylvainThery [34℄.
Une k- ellule étant représentée par un ensemble de brins, les plongements
orrespondants à ette ellule doivent être les mêmes pour tous ses brins. Un
plongement a don une dimension orrespondant à la dimension de la ellule
possédantles ara téristiques.De manièresymétrique,étantdonnéqu'un brin
représente
n + 1
ellules diérentes, il peut possédern + 1
plongements dié-rents.Unplongement orresponddon àdesinformationsliantdesbrinsd'unemême orbite qui pointent vers la même adresse de plongementpour ette
or-bite.Lors deladénitionde plongements,l'informationasso iée àuneadresse
de plongementest modiée.
Un exemple de plongement typique est le marquage, 'est à dire le
plon-gement sur un booléen. Le marquage permet d'étendre la représentation des
artes ombinatoires aux quasi-variétés possédant un bord, sans altérer les
ontraintes d'intégrité de la arte. Ainsi, les brins orrespondants au bord de
la artesontmarquésand'êtrere onnusdanslesalgorithmesdepar ours.
De manière symétrique, on asso ie un brin à un plongement, e qui
per-met de réaliser des par ours rapidesde la arte appelés traversées. Si l'on
souhaite par ourir les sommets de la arte, il sut d'utiliser un traverseur
qui va ré upérer le brin asso iéà haque plongement de type sommet. On ne
par ourra ainsi queles brins traversés, 'est àdire un par orbite sommet.
D'autres outils sont disponibles en e qui on erne les par ours des artes
etdes divers plongements.Lesopérationsd'adja en e etd'in iden esont
par-ti ulièrementoptimiséesave des traverseurs d'adja en eoud'in iden ed'une
k- ellule. Ainsi, on peut par exemple aisément ré upérer les 3- ellules
(vo-lumes)0-adja ents(adja ents parsommet)àun volumedonné.Laplateforme
open-sour e CGoGN [6℄regroupe notamment et ensemble d'outilset permet une utilisationfa ilitée de e modèlede représentation.
On a don bien un modèle à mi- hemin entre grille d'enregistrement et
graphede voisinage.Les ellulesd'enregistrementsontlesfa esoulesvolumes
de la arte selon la dimension. Le graphe de voisinage est fourni par les
re-lations d'adja en e et d'in iden e entre ellules. L'avantage que nous voulons
C'est sur ettebase dereprésentation,d'opérationsdepar ours etde
plon-gementsquenousallonsvoirlesextensionsmultirésolutionsde emodèle.Nous
nous intéresserons ensuite de plus près à son utilisation pour notre problème
d'enregistrement.
3.2 Les artes multirésolutions
Les artes multirésolutionpermettentde représenter des maillages
adapta-tifs. Sur un maillage adaptatif on peut réaliser les opérations de subdivision
et de simpli ationsur les ellules lo alement pour en adapter la taille. Nous
appellerons es opérationsdes opérationsde mise à l'é helle.
Lesmaillagesadaptatifs lassiquespermettentd'a éderàl'étatdumaillage
à un instant donné. Le maillage pré édant une opération de mise à l'é helle
est perdu etseule la version ourante du maillage est a essible.
Lemodèledereprésentationmultirésolutionretienttouteslesversionsd'un
maillage aufur et à mesure de ses hangements. Chaque taillede subdivision
orrespond à un niveau de résolution du maillage et haque niveau est
a es-sible à tout moment, d'où leterme de multirésolution.Le prin ipe du modèle
des artes ombinatoires multirésolutions est d'ajouter de nouveaux brins au
furet àmesurede lamodi ation de la arte,par des opérateurs élémentaires
tels quela subdivision d'arête, la subdivision de fa e, et . Ces opérateurs
élé-mentairesgarantissentquela arte résultantevérie les ontraintes d'intégrité
d'une arte ombinatoire.
La gure 3.6 montre l'imbri ationdes ensembles de brins dans une arte multirésolution. Les brins d'origine de la arte dans l'ensemble
B
0
sont
éga-lement présents dans l'ensemble
B
1
des brins présents au niveau 1 où sont
également apparus les brins oranges. Il en va de même pour le niveau 2 et les
niveaux suivants.
Les brins ajoutés possèdent un niveau d'introdu tion et de nouvelles
liai-sons topologiques sont dénies à haque niveau. Les brins de niveau inférieur
sonttoujoursprésentsdansunniveausupérieur.Seulsleslienstopologiques,et
don lespar ours, hangent.Pournepasperdrelesliensdesniveauxinférieurs,
ondoit retenirl'informationde liaison de haque brin sur haque niveau.
En e qui on erne les plongements des brins, ils sont potentiellement
Figure 3.6 : Imbri ationdesensemblesde brins de diérents niveaux dansune arte
ombinatoiremultirésolution[18℄.
Ande dé rireles diérentes représentations multirésolutions,nous allons
dénir qu'un niveau de résolution est dit expli ite si tous les brins qui le
omposent possèdent des liens topologiques permettant de le par ourir
dire -tement.
La gure 3.7 présente une 2- arte multirésolution de niveau 2 subdivisée de manière adaptative.Les brins de niveau 0 sont noirs, les brins de niveau 1
sont violets et les brins de niveau 2 sont oranges. Le lien topologique par la
relation
Φ
1
est indiqué par la è he sur la représentation des brins et le lienΦ
2
est un traitrouge.Sil'onometlesè hes vertes, onpeut voirqueleniveau 2 de résolution de ette arte est expli ite, ar tous les liens topologiques ysont dire tementprésents.Enrevan he, sil'onsepla eauniveau0de la arte
où seuls les brins noirs existent, au un lien n'est présent. On peut rendre e
niveau 0 expli ite pour larelation
Φ
1
en y rajoutant lesliens indiqués par les è hes vertes. Sil'on expli iteégalement larelationΦ
2
auniveau 0,toutesles relationsseront dire tement présentes dans e niveau et ilsera don expli ite.Deux versionsde représentationsont été présentées dans [35℄:
Une première représentation dite expli ite où l'on rée expli itement
haque niveau de résolution en dupliquant et en enri hissant les
infor-mations du niveau pré édent.
Une se onde version dite impli ite où seul le niveau de résolution le
plus n est expli ité etles autres niveaux sont re onstruits de manière
impli iteà la demande.
Ces représentations se distinguent notamment par les s hémas de
subdivi-sion qu'elles supportent. Lorsqu'il s'agit de subdiviser des ellules, plusieurs
appro hes sont on urrentes. De manière générale on les lassie en deux
a-tégoriesappelées ranement primal etranement dual.
Dans un ranement primal, les an iens sommets sont onservés et les
fa essontsubdivisées, réantdenouveaux sommetsdanslesfa eset/ousurles
arêtes.Dansun ranementdual,lessommetsetlesarêtessonté latéspour
réerdes fa es.Lagure 3.8présente es deux typesdes hémade subdivision appliquésaumêmemaillaged'origine.Onytrouvelasubdivisionprimaleen A
ave onservationdes sommetsd'origine,etlasubdivision dualeen B é latant
lessommets. Certaines te hniques sortent de es atégories, ommele s héma
de subdivision
√
3
, quisubdivise depuisun point entral en reliant e point à haque sommeteten faisantensuitebas uler lesan iennes arêtes pour formerlesnouvelles fa es.
Voyonsdésormais su in tement lespossibilitésoertespar es
représenta-tions etleurs diéren es d'utilisation.
3.2.1 Multirésolution expli ite
Une représentation multirésolution expli ite orrespond à l'implantation
dire ted'unmodèle multirésolution.Chaqueniveauest réé indépendamment
desautres,mêmes'ilsontdesbrinsen ommun,l'informationestdupliquée.On
peutdon sepla eràn'importequelniveauderésolutionetutiliserdire tement
lesrelationsentre lesbrins présentes à e niveau pour le par ourir.
Lagure3.9présentelagestiondes relationstopologiquespour deux brins
d1
etd2
d'une arte multirésolution de dimension 3 possédant 3 niveaux de résolution. Les brins sont asso iés à un tuple liaisons/attributs qui détermineleurs voisins par les relations
Φ
1
, Φ
2
etΦ
3
et leurs attributs de sommet (S
) etde volume(V
) asso iés. On peut onstater que le brind2
a été introduit au niveau 1, et que pour haque niveau, un brin pointe potentiellement vers unnouveau tuple de liaisons/attributs. Le brin d1 n'a pas eu de modi ation de
A
B
Figure 3.8 : Diérentss hémasde subdivision :les hémaprimalen Aet dualen B.
Cette représentation a un oût onstantpour ee tuerles requêtesde
voi-sinage,quelque soitleniveaude résolution. Ellesupporte touttypede
rane-ment de la topologie, que e soitprimal, dual,
√
3
, et . Son in onvénient est d'êtreplus oûteuse en mémoireque d'autres stru tures.3.2.2 Multirésolution impli ite
Dans un modèlede représentation multirésolutionimpli ite,seul leniveau
de résolution le plus n est expli ité. Ce type de représentation fon tionne
uniquement sur les s hémasde subdivisions primaux. Son prin ipeest d'avoir
a èsuniquementaudernierniveau de résolution ommedans un modèle
mo-norésolutionan d'éviter les redondan es.
On simuleainside manièreimpli itelesautresniveaux de résolution grâ e
àun systèmed'étiquetage de brins.Les étiquettesservent àretrouverles liens
permettantderéaliserlespar oursde plushautniveau.Lagure3.10présente ettete hnique surune2- artepossédant3niveaux derésolution.On retrouve
enA lelien
Φ
0
1
, 'està direlelienΦ
1
auniveaude résolution 0,entre lesbrinsd1
etd2
quel'on her he àre réerde manièreimpli iteenpar ourantleniveau 2 ommeillustréenB.Pour ee tuer e par ours,onsuitleslienstopologiquesΦ
1
etΦ
2
au niveau 2 de résolution, pour retrouver le numéro d'étiquette de départ,i i 1. On suit ette étiquette jusqu'à trouverun brin de même niveaud'introdu tion qued1, don un brin noir.
Commeonutiliseuns hémadesubdivisionprimal,lessommetsne hangent
pas et il est susant d'utiliser des étiquettes d'arêtes sur une 2- arte et des
étiquettesd'arêtes et de fa es sur une 3- arte.[35℄a déterminé quele nombre d'étiquettes né essaires est limité au nombre maximum d'arêtes adja entes à
unsommetintroduitparleranement.Ilsutdon de3étiquettesdiérentes
pourunesubdivisiondetriangle, ommedansnotreexemple,etde2étiquettes
pour une quadrangulationde fa espolygonales.
Nous avons don une gestion des par ours grâ e à es étiquettes, voyons
désormais la gestion des plongements dans de telles artes. Comme les
som-mets sont xes dans e mode de représentation, leurs attributs peuvent être
gérésaisément.Con ernant lesautresattributs, àsavoir d'arête,de fa eoude
volume, lasolutiontrouvée est de ré upérer l'indi ede plongementdu dernier
brininsérédansl'orbite.Unbrindeniveau0posséderatouteslesinformations
de plongement de niveau 0. En revan he, à un niveau
k 6= 0
, pour trouver le plongement de la n-orbite il est né essaire de par ourir ette orbite pourd1
d2
1
1
1
1
1
1
3
2
2
2
A
B
Figure 3.10 : On retrouve le par ours
Φ
1
de d1 vers d2 au niveau 0 grâ e à un par oursen suivant de manièreimpli iteles bonnesétiquettes auniveau 2.[35℄[36℄ réalise la omparaison de performan e entre les modèles expli ites et impli ites. Sa on lusion est que le modèle impli ite oûte 15% de plus en
termede temps de par ours des diérents niveaux de résolution, et oûte33%
et 14% de moins d'espa e mémoirerespe tivement pour les as 2D et3D.
Cette représentation impli ite a don l'avantage d'avoir un oût en
mé-moiretrèsfaiblepour unestru turereprésentantune onne tivité omplète de
haqueniveaudelahiérar hie.Enrevan he,elleestrestreinteauxsubdivisions
primaleset rée un sur oût des requêtes de voisinage àhaut niveau.
3.3 Utilisation pour les requêtes de proximité
L'idée quenousdéfendons est d'utiliserune arte ombinatoirepour
repré-senter l'environnement de la simulation. Comme dans les grilles
d'enregistre-ment lassiques, nous désirons enregistrer des entités dans des ellules de la
arteet ommedansleste hniquesutilisantdes graphes,nousdésironsutiliser
lesrelations d'adja en e des ellulespour optimiserlesrequêtes de proximité.
Lesenregistrementsdansune arte ombinatoire orrespondentàdes
plon-gements omplexes. Comme nous l'avons évoqués au début de ette se tion,
Plongement de face :
1 vecteur de points :
1 vecteur d'arêtes :
Plongement d'arêtes :
1 marquage : Obstacle
2 réels : coordonnées
du centre de la face
Figure 3.11 : Les enregistrements des entités sont une information de plongement
parmid'autres.
On peut représenter l'environnement par une arte ombinatoireet se
ser-virdesplongementspourenregistrerlesentités présentes dansunesimulation.
Lagure 3.11 présente un exemple de simulation de foule ave diverses infor-mationsplongées dans l'environnement.Parmi es informations,lesentités de
lasimulation,i ilespointsetles arêtes,ont été plongésdans des ve teurs sur
lesfa esde la arte représentant l'environnement.On peut égalementtrouver
d'autres informations, par exemple, des arêtes de la arte marquées omme
obsta leou en ore des informationsgéométriques omme le entre de gravité
d'unefa e.
Cesinformationsdeplongement,asso iéesauxopérationsdepar ours,
per-mettent de re ueillir rapidement l'ensemble des entités enregistrées dans le
voisinage d'une ellule de l'environnement. I i, la notion de voisinage est
to-pologique et on va dénir qu'une ellule de la arte est l'orbite de plus
grandedimensiondans lasubdivision.Ainsi,une elluled'une2- artesera une
2-orbite orrespondantàunefa e,etune elluled'une3- arteseraune3-orbite
orrespondant àun volume. Ave ette dénition de ellule, onpeut dénirle
voisinage d'une ellule:
Dénition du voisinage d'une ellule C : :
Le voisinage d'une ellule C est l'ensemble des ellules qui lui sont
adja entes par sommet, 'est à dire 0-adja ente.
Nous avons don une dénition de voisinage et un modèle basé sur une
représentation topologiquede l'environnement,très e a e pour ee tuer des
requêtesdeproximité.Cemodèlepermetdereprésentern'importequelle
quasi-variété, e qui nous donne une grande liberté de hoix pour notre
environne-ment de simulation. Son modèle de plongement nous permet d'asso ier des
information potentiellement de très haut niveau dans haque ellule et même
haque orbite, grâ e à un a ès similaire pour toutes les entités du maillage
(sommets, arêtes, fa es et volumes). Ses performan es et sa stabilité ont été
prouvées mathématiquement dans divers travaux. Nous avons don hoisi e
modèle omme base de nos travauxde thèse.
Durant notre exploration des méthodes basées sur des grilles
d'enregistre-ment de la se tion2.4, nous avons déterminé quel'e a ité de la mise à jour des enregistrements dépend de la taille des ellules de la subdivision. Ainsi,
danslessituationsde fortedensitéd'entités,il onvient deréduirelevoisinage
d'une entité et don la tailledes ellules pour fa iliterses al uls de ollision.
Dans des situations de faible densité d'entités, de grande ellules permettent
de limiter les hangements de ellule des entités et don de ne pas avoir à
mettreàjour lesenregistrements.Nousavons don hoisid'utiliserun modèle
adaptatif pour réaliser nos simulations. La résolution du maillage est anée
selon les zonesde densitéd'entités plongées dans la arte.
La représentation impli ite multirésolution semble plus adaptée à notre
obje tif et nous avons don hoisi de travailler ex lusivement sur e modèle.
Pour le reste de e mémoire, il sera don question de modèle de
multirésolu-tion impli ite. En eet, dans nos simulations, les re her hes de voisinages se
font toujours au niveau le plus n de résolution, et on a ède très rarement
auxniveaux supérieurs.Deplus,less hémasde subdivisionprimauxsontplus
avantageux pour suivre nos enregistrements. En 2D, ave un s héma primal,
lorsqu'une fa eest subdivisée, la formedes fa es0-adja entes n'est pas
modi-ée. Cette propriété permet de hanger uniquement les enregistrements de la
fa e en question. Ce système de multirésolution est don utilisé pour limiter
la tailledes voisinagesetoptimiser notresimulation.
Enn, la omplexité de e modèle est la même que pour les grilles
d'enre-gistrement régulières pour nos ritères de omparaison, àsavoir :
O(N
d
)
pour lamise àjour de lastru ture ave une déte tion des han-gements de ellules.
O(N
d
)
pour la ré upération du voisinage des entités mobiles soitO(1)
pour haque entité.Avantdevoirdanslespartiessuivantes nos travauxautourde e modèle,nous
Suivi de parti ules
Sommaire
4.1 Contexte . . . 42 4.2 Algorithmes . . . 42 4.2.1 Dépla ement depuisl'état volume . . . 45 4.2.2 Dépla ement depuisl'état fa e . . . 47 4.2.3 Dépla ement depuisl'état arête . . . 48 4.2.4 Dépla ement depuisl'état sommet. . . 49 4.3 Con lusion . . . 50
Ce hapitreprésentedemanièresynthétiquelestravauxdethèsedeThomas
Jund [15℄ sur le suivi de parti ules dans un environnement partitionné en ellules onvexes. Nous présenterons i ile ontexte d'appli ation ainsi que les
algorithmes de suivi de parti ules dans un environnement 3D.
Ces travaux, en asso iation ave le modèle de artes ombinatoires
multi-résolution, onstituent la base sur laquelle s'établissent nos travaux de thèse