Le traité de la réalité virtuelle
Volume 3 Les outils et les modèles informatiques des environnements virtuels
Bruno Arnaldi/Ronan Boulic/Patrick Bourdot/Marie-Paule Cani/Éric Cazeaux/Alain Chauffaut/Stéphane Donikian/Thierry Duval/François Faure/Philippe Fuchs/Pascal Guitton/Fabrice Harrouet/Jean-Pierre Jessel/Thomas
Jourdan/Abderrahmane Kheddar/Philippe Meseure/Guillaume Moreau/Franck Multon/David Nahon/Fabrice Neyret/Marc Parenthoën/Mathias Paulin/Bernard Péroche/Bogdan Stanciulescu/Jacques Tisseau/Patrice Torguet/Damien Touraine/Nicolas
Tsingos/Jean-Marc Vézien/Olivier Warusfel
I Introduction
1
1 Introduction à la réalité virtuelle
3
1.1 Fondement de la réalité virtuelle3
1.1.1 Introduction3
1.1.2 Définitions de la réalité virtuelle5
1.2 Modèle de référence pour l'immersion et l'interaction10
1.2.1 L'approche «instrumentale» pour l'immersion
et l'interaction10
1.2.2 Le modèle de référence en RV12
1.3 Structuration du traité de la réalité virtuelle13
1.3.1 l'Homme et l'environnement virtuel15
1.3.2 L'interfaçage, l'immersion et l'interaction
en environnement virtuel15
1.3.3 Les applications de la réalité virtuelle16
1.4 Présentation du contenu du volume «Les outils et les modèles informatiques
des environnements virtuels»16
1.4.1 La modélisation des environnements virtuels17
1.4.2 Modélisation et simulation21
1.4.3 Réalité virtuelle et complexité24
1.5 Références bibliographiques29
2 Modèles géométriques des environnements virtuels
33
2.1 Introduction33
2.1.1 Types d'objets34
2.1.2 Propriétés des modèles36
2.2 Modèles volumiques36
2.2.1 Énumération spatiale37
2.2.2 Constructive Solid Geometry39
2.3 Modèles surfaciques41
2.3.1 Utilisation de surfaces planes41
2.3.2 Utilisation de surfaces non planes42
2.4 Géométrie algorithmique46
2.4.1 Transformation d'un volume en surface46
2.4.2 Maillage polygonal d'un nuage de points47
2.4.3 Décimation de maillages51
2.5 Optimisation des modèles pour la réalité virtuelle54
2.5.1 Texturation55
2.5.2 Niveaux de détails56
2.6 Références bibliographiques58
II Modèles pour les rendus sensori-moteurs
61
3 Modèles pour le rendu visuel
63
3.1 Les rendus pour la réalité virtuelle63
3.1.1 Introduction63
3.1.2 Rendu temps réel63
3.1.3 Qualité et perception64
3.2 Modèles d'éclairage et d'ombrage65
3.2.1 Modélisation de l'apparence65
3.2.2 Modélisation de l'éclairage74
3.3 Rendu et perception80
3.3.1 Modèles de vision et calculs de rendu80
3.3.2 Reproduction de tons83
3.4 Références bibliographiques86
4 Modèles pour le rendu sonore
93
4.1 Introduction93
4.1.1 Problématique du rendu sonore93
4.1.2 Le pipeline de rendu sonore94
4.2 Acoustique et traitement du signal95
4.2.1 Quelques notions d'acoustique96
4.2.2 Outils de traitement du signal pour le rendu audio101
4.3 Synthèse de sources sonores virtuelles103
4.3.1 Synthèse par enregistrements et «textures sonores»103
4.3.2 Synthèse par modèles physiques et analyse-synthèse105
4.3.3 Propriétés des sources sonores.
Sources ponctuelles et étendues106
4.4 Modélisation de la propagation du son107
4.4.1 Acquisition de réponses impulsionnelles et rendu107
4.4.2 Modèles physiques pour la propagation du son109
4.4.3 Modèle générique des effets environnementaux116
4.4.4 Intégration des effets de propagation
dans le pipeline de rendu sonore120
4.5 Rendu audio structuré et optimisations perceptives124
4.5.1 Importance des sources sonores et masquages auditifs125
4.5.2 Niveau de détail et regroupement spatial
des sources, «imposteurs sonores»127
4.5.3 Représentations progressives des signaux
et scalabilité des traitements128
4.6 Rendu audio 3D par manipulation directe
d'enregistrements in-situ129
4.6.1 Rendu à partir d'enregistrements coïncidents
et décompositions directionnelles129
4.6.2 Rendu a partir d'enregistrements non-coïncidents130
4.6.3 Extraction d'une scène structurée
à partir d'enregistrements130
4.7 Références bibliographiques131
5 Modèles pour le rendu haptique
141
5.1 Le couplage simulation/dispositif haptique141
5.2 Le calcul du rendu haptique144
5.2.1 Rendus par schémas d'impédance : calcul des forces144
5.2.2 Rendus par schémas d'admittance : calculs des contraintes145
5.2.3 Des modèles primitifs aux modèles objets (proxy)145
5.2.4 Modélisation de l'environnement pour le rendu haptique148
5.3 L'adaptation fréquentielle149
5.3.1 Les représentations intermédiaires150
5.4 Biblothèques haptiques153
5.5 Conclusion153
5.6 Références bibliographiques154
6 Détection des collisions
157
6.1 Détection de collision entre primitives157
6.1.1 Définition de la collision158
6.1.2 Détection spatiale entre polyèdres convexes158
6.1.3 Détection spatiale entre polyèdres quelconques161
6.1.4 Les approches temporelles164
6.1.5 Bilan sur la détection entre objets et problèmes ouverts167
6.2 Le pipeline de détection168
6.2.1 Problématique168
6.2.2 La recherche de proximité (broad-phase)169
6.2.3 La détection approximative (narrow-phase)171
6.2.4 Accélération temporelle continue176
6.2.5 Bilan de l'accélération177
6.3 Traitement de la collision177
6.4 Conclusion178
6.5 Références179
7 Modèles mécaniques
185
7.1 Modèles à base de particules185
7.1.1 Rappels185
7.1.2 Nuages de particules186
7.1.3 Masses-ressorts187
7.1.4 Éléments finis189
7.1.5 Formulations lagrangiennes191
7.1.6 Intégration du temps191
7.2 Solides en contact192
7.2.1 Dynamique du solide192
7.2.2 Calcul analytique des forces de contact195
7.2.3 Pénalités196
7.2.4 Frottement197
7.2.5 Impulsions199
7.2.6 Impulsions intégrées201
7.2.7 Méthodes à base d'optimisation202
7.2.8 Regroupements optimaux203
7.3 Solides articulés204
7.3.1 Dynamique directe en coordonnées absolues204
7.3.2 Dynamique directe en coordonnées relatives206
7.3.3 Méthode à base de réseaux de neurones207
7.4 Identifier un modèle à partir de la cinématique207
7.4.1 Introduction207
7.4.2 La technique évolutionnaire208
7.4.3 Stratégie d'évolution : un paramétrage adapté
aux grandeurs physiques208
7.4.4 Fonctions de coût adaptée aux systèmes masses-ressorts209
7.4.5 Applications et limites210
7.4.6 Trajectoire réelle : identification211
7.5 Références bibliographiques213
III Modèles pour le rendu comportemental
217
8 Scénarios adaptatifs : le paradoxe du contrôle d'agents autonomes
219
8.1 Introduction219
8.2 Etat de l'art219
8.3 Le langage SLuHrG220
8.3.1 Introduction220
8.3.2 Langage de scénario221
8.3.3 Grammaire du langage222
8.3.4 Gestion des acteurs228
8.3.5 Ordonnancement230
8.3.6 Conclusion232
8.4 Exemple de scénario232
8.5 Conclusion238
8.6 Références bibliographiques238
9 Modèles pour l'autonomie
241
9.1 Introduction241
9.1.1 Interdisciplinarité241
9.1.2 Transdisciplinarité242
9.2 Principe d'autonomie243
9.2.1 Exploitation des modèles243
9.2.2 Modélisation de l'utilisateur245
9.2.3 Autonomisation des modèles246
9.2.4 L'autonomie en réalité virtuelle249
9.3 Entités autonomes250
9.3.1 Approche multi-agents252
9.3.2 Simulation multi-agents participative253
9.3.3 Métaphore d'Ali Baba254
9.3.4 Expérimentation in virtuo256
9.4 L'autonomie par construction257
9.4.1 Hypothèse énactive257
9.4.2 Modélisation énactive260
9.4.3 Premiers résultats263
9.5 Conclusion264
9.6 Références bibliographiques265
10 Modèles pour les humanoïdes
273
10.1 Introduction273
10.2 L'humain virtuel274
10.2.1 H-ANIM274
10.2.2 CAL3D276
10.3 Animation d'humains virtuels277
10.3.1 Animation d'humains par cinématique directe277
10.3.2 Animation d'humains par cinématique inverse278
10.3.3 Capture de mouvements en temps réel279
10.3.4 Adaptation en temps réel de mouvements capturés281
10.3.5 Utilisation de la dynamique285
10.4 Modéliser le comportement humain285
10.5 Modèles de comportement réactif287
10.5.1 Les familles de modèle287
10.5.2 HPTS : un outil de spécification de comportements réactifs289
10.5.3 Les modèles de perception290
10.5.4 Les modèles d'actions sur les objets292
10.5.5 Les approches compétitives et coopératives
de sélection d'action(s)292
10.6 Modèles de comportement cognitif294
10.6.1 Introduction294
10.6.2 Approches cognitives en animation296
10.6.3 Modélisation des émotions298
10.7 Modèles de comportements collectifs et sociaux298
10.7.1 Introduction298
10.7.2 La locomotion298
10.7.3 Modèles de navigation réactive d'un humain virtuel
dans son environnement300
10.7.4 Comportements de foules302
10.7.5 Modèles de simulation de foule303
10.8 Conclusion305
10.9 Références bibliographiques306
11 Modèles pour les environnements naturels
315
11.1 Introduction315
11.2 Éléments de méthodologie315
11.2.1 Verrous scientifiques316
11.2.2 Méthode de construction des modèles317
11.2.3 Outil générique pour la modélisation multi-échelles319
11.3 Etude de cas319
11.3.1 Prairies agitées par le vent320
11.3.2 Mer quasi-linéaire321
11.3.3 Ruisseaux322
11.3.4 Nuages, fumées et avalanches323
11.4 Modélisation énactive des états de mer324
11.4.1 La mer des marins : un défi pour la physique325
11.4.2 Choix des entités énactives pour la mer des marins325
11.5 Conclusion : psychologie ou physique ?329
11.5.1 Visualisation : une réhabilitation du «trompe-l'oeil»329
11.5.2 Vers une nouvelle méthodologie pour la simulation329
11.6 Références bibliographiques330
IV Outils et environnements de développement
333
12 OpenMASK : une plate-forme logicielle Open Source pour la réalité virtuelle
335
12.1 Introduction335
12.2 Concepts d'OpenMASK336
12.2.1 Noyau - une machine virtuelle337
12.2.2 Objet de simulation fréquentiel et/ou réactif339
12.2.3 Applicatif configurable343
12.2.4 Session distribuable343
12.2.5 Conclusion344
12.3 Services d'OpenMASK pour la réalité virtuelle345
12.3.1 Initialisations345
12.3.2 Visualisations interactives345
12.3.3 Sonorisations348
12.3.4 Interactions349
12.3.5 Coopérations351
12.3.6 Conclusion355
12.4 OpenMASK : Plate-forme d'intégration et de
capitalisation de services355
12.4.1 Handball - tirs au but355
12.4.2 GVT - formation à la maintenance357
12.4.3 Musée virtuel de la photographie contemporaine359
12.4.4 Collaborations haptiques distribuées361
12.5 Conclusion365
12.6 Références bibliographiques365
13 ARéVi
369
13.1 Motivations369
13.2 Les services de base370
13.2.1 L'architecture retenue370
13.2.2 Les entités autonomes372
13.2.3 La communication par messages373
13.2.4 Liaison avec d'autres outils374
13.3 Les services 3D375
13.3.1 La structure retenue376
13.3.2 Les objets graphiques378
13.3.3 Les moyens de détection379
13.3.4 Les systèmes de particules380
13.3.5 Les interacteurs380
13.3.6 La visualisation stéréoscopique381
13.4 La distribution382
13.4.1 Le modèle retenu383
13.4.2 La sérialisation384
13.4.3 Démarche de mise en oeuvre385
13.5 Les humanoïdes385
13.5.1 Le principe386
13.5.2 Les squelettes386
13.5.3 L'animation387
13.5.4 La représentation388
13.5.5 Démarche de mise en oeuvre389
13.6 Bilan et perspectives389
14 EVI3d : une plate-forme de développement d'applications de RV&A
393
14.1 Introduction393
14.2 Gestion de la multimodalité393
14.2.1 Multimodalité en entrée394
14.2.2 Multimodalité en sortie395
14.2.3 Cluster graphique et cluster de rendu multimodal396
14.3 Conclusion398
14.4 Références bibliographiques398
15 Virtools et la réalité virtuelle
399
15.1 Les outils logiciels de Virtools pour la
réalité virtuelle399
15.1.1 La plate-forme de développement Virtools Dev399
15.1.2 Les outils logiciels autour de la plate-forme399
15.1.3 La Schématique Virtools401
15.1.4 Le VR Pack403
15.2 Virtools et ses marchés405
15.2.1 Le jeu vidéo407
15.2.2 Le marketing en ligne et multimédia407
15.2.3 Les applications industrielles408
15.2.4 La société Virtools409
15.3 Références bibliographiques409
16 La réalité virtuelle distribuée
411
16.1 Introduction411
16.2 Bref historique412
16.3 Architecture des systèmes de RVD413
16.3.1 Architecture client-serveur centralisée415
16.3.2 Architecture client-serveur distribuée415
16.3.3 Architecture client-serveur distribuée avec
plusieurs serveurs415
16.3.4 Architecture égal à égal (peer to peer) distribuée
point à point416
16.3.5 Architecture égal à égal distribuée en mode diffusion417
16.4 Techniques d'optimisation des systèmes de RVD418
16.5 Références bibliographiques423