Vous êtes sur la page 1sur 16

Introduction

Ce cours présente les fondements de l’informatique graphique 3D et ses applications en réalité virtuelle.

Réalité virtuelle :

● La réalité virtuelle est une simulation informatique interactive immersive, visuelle, sonore et/ou haptique,
d’environnements réels ou imaginaires.
● La finalité de la réalité virtuelle est de permettre à une personne (ou à plusieurs) une activité sensori-motrice et cognitive
dans un monde artificiel, créé numériquement, qui peut être imaginaire, symbolique ou une simulation de certains
aspects du monde réel.
● Parmi les précurseurs de cette technique :
❖ Ivan Sutherland, qui a conçu en 1968-70 l'Ultimate Display, premier casque de visualisation asservi aux
mouvements de la tête.
❖ Thomas Furness (US Air Force) qui a dirigé à partir de 1977 le programme Visually-Coupled Airbone Systems
Simulator (VCASS) sur les cockpits virtuels.
❖ Frederick Brooks (Université Duke en Caroline du Nord) qui, à partir de 1967, a développé un bras à retour d'effort
(haptique) pour environnements virtuels.
❖ Myron W. Krueger, inventeur pendant la décennie 1975-85 de la « réalité artificielle (en) » permettant d'interagir
en temps réel avec des images infographiques sur écran.
❖ Mais l'histoire de la RV (réalité virtuelle) proprement dite commence lorsque Michael McGreevy (Ames Research
Center en Californie) lance, en 1984, le programme VIVED ou Virtual Visual Environment Display destiné à offrir
aux astronautes un nouvel outil d'affichage d'informations et de données pour leurs futures missions spatiales.
● Principales interfaces visuelles :
❖ Workbench
❖ Salle immersive sphérique ou cubique
❖ Écran stéréoscopique, avec ou sans la tête traquée de l'observateur
❖ Les casques de réalité virtuelle

Informatique graphique :

L'informatique graphique combine modèles mathématiques, simulation visuelle temps-réel, apprentissage automatique,
et interaction intuitive, pour nous permettre de donner vie à des mondes virtuels animés.

Réalité augmentée

La réalité augmentée est la superposition de la réalité et d'éléments (sons, images 2D, 3D, vidéos, etc.) calculés par un
système informatique en temps réel. Elle désigne souvent les différentes méthodes qui permettent d'incruster de façon
réaliste des objets virtuels dans une séquence d'images.

1. Modélisation Géométrique des surfaces

A. Modèles de Représentation des Surfaces 3D


● Modélisation : décrire un objet ou un phénomène par un ensemble de nombres, fonctions, limites, … Au cœur de la
science informatique, les ordinateurs ne savent manipuler qu'un ensemble fini de nombres.
● Modélisation géométrique : La modélisation géométrique est l’ensemble des outils mathématiques, numériques et
informatiques qui combinés permettent de construire un modèle virtuel (ou modèle informatique) d’un objet réel. Cet objet
peut être plus ou moins complexe, plus ou moins schématique. Il peut être le fruit de l’imagination, d’une tendance ou
plutôt une solution plus ou moins exacte d’un problème physique donné, voire un compromis entre les deux. La
modélisation géométrique sous-entend d’être en mesure de réaliser la construction et l’assemblage de formes
élémentaires pour créer des objets de plus en plus complexes en respectant des contraintes topologiques.
● Surface 3D : Un modèle de surface 3D est une représentation numérique d'entités, réelles ou hypothétiques, dans
l'espace tridimensionnel. Une surface 3D est généralement dérivée ou calculée à l'aide d'algorithmes conçus
spécialement pour échantillonner des données de point, de ligne ou de polygone et les convertir en surface 3D
numérique.
● Une surface gauche est une surface engendrée par le mouvement d'une droite, dont deux positions successives ne
sont généralement pas dans un même plan.

B. Maillages Polygonaux
● Un polygone est un n-uplet de sommets. Exemples : triangle, quadrangle, pentagone, . . .
● La plupart des maillages sont triangulaires ou quadrangulaires.
● Un maillage est la discrétisation spatiale d'un milieu continu, ou aussi, une modélisation géométrique d’un domaine par
des éléments proportionnés finis et bien définis. L'objet d'un maillage est de procéder à une simplification d'un système
par un modèle représentant ce système et, éventuellement, son environnement (le milieu), dans l'optique de simulations
de calculs ou de représentations graphiques.
● Un maillage polygonal :Collection de sommets, d’arêtes, et de faces définissant la forme d’un objet polyédral.

C. Surfaces paramétriques

● Surface lisse ?
Formellement, c'est une surface de continuité Ck avec k > 0 Besoin d'une représentation spécifique. Exemples : formes
organiques (visage) / surface d'un liquide / carrosserie d'une voiture / courbe (dessin vectoriel).

Contrôle :
➢ Paramètres de contrôle d'une surface/courbe lisse :
❖ faible nombre
❖ intuitifs
❖ graphiques/visualisables
➢ Idée :
❖ utiliser un réseau de points de contrôle.
❖ un polygone pour manipuler une courbe lisse
❖ une grille pour manipuler une surface lisse
❖ paramétrer la surface lisse sur le réseau de contrôle ⇒ Spline

Réseau de contrôle : un ensemble réduit de points 2D ou 3D pour piloter une courbe ou une surface spline.

● Spline :
Une spline est une fonction définie par morceaux par des polynômes. Les splines sont utilisées pour représenter
numériquement des contours complexes. Leur mise en œuvre est simple. Elles sont fréquemment employées dans les
logiciels de dessin ou de conception graphique ; leur usage y a été généralisé par Pierre Bézier avec les B-splines.

● Courbes de Bézier :
Les courbes de Bézier sont des courbes polynomiales paramétriques
développées pour concevoir des pièces de carrosserie d'automobiles
avec des splines. Une courbe de Bézier revient à réaliser une sorte de
moyenne pondérée d’une suite de segments contigus, bornés par les
points de contrôle.

Une courbe de Bézier est pilotée par un ensemble de (N+1) points de


contrôle {p0, . . . , pN } s'écrit :
Caractéristiques :
➔ Une courbe de Bézier est entièrement contenue dans la coque convexe de ses points de contrôle.
➔ Définition globale : chaque point de contrôle influence la totalité de la courbe.
➔ Le degré d'une courbe de Bézier correspond au degré de son polynôme ; une courbe de Bézier de
degré n a (n+1) point de contrôle.

➢ Algorithme de Casteljau :
Cet algorithme permet d'évaluer une courbe spline sans la calculer explicitement. Il consiste à parti
du premier segment et à se déplacer d'un pas constant vers le dernier segment. On voit alors
apparaître la courbe. Plus le pas est petit, plus l'approximation est fine.

➢ TP :
on prend n=3 → courbe de Bézier cubique

● B-Spline :
En mathématiques, une B-spline est une combinaison linéaire de splines positives à support compact minimal.
Les B-splines sont la généralisation des courbes de Bézier, elles peuvent être à leur tour généralisées par les
NURBS.
➢ Relation en Bézier et B-Spline :
❖ La courbe de bézier associée à (n+1) points de contrôle est la courbe B-spline de degré n avec comme noeuds les points
: t0 = t1 = … = tn = 0 et tn+1 = tn+2 = … = t2n+1 = 1
❖ Contrairement à une courbe de Bézier, une B-spline ne passe par aucun de ses points de contrôle.

➢ TD (voir la solution de Kimo)

D. Traitement : Subdivision de Surface


● Application des surfaces de subdivision : Animation, FX, jeux vidéos, CAO.
● Dans le domaine de la CAO et des mathématiques, les surfaces de subdivision sont une façon de créer des surfaces
lisses développant de plus en plus un maillage linéaire par morceaux. La surface lisse finale, peut être calculée comme la
limite du procédé itératif de subdivision de chaque face polygonales en un sous-ensemble de faces approchant mieux la
surface lisse finale.
● Les schémas de subdivision surfacique ayant pour but le lissage peuvent être classés en 2 catégories : les schémas
interpolants et les schémas approximants.
❖ Les schémas interpolants sont utilisés lorsque les nouveaux points doivent être exactement sur les
vecteurs originaux.
➢ Papillons, Triangles
➢ Midedge
➢ Kobbelt
❖ Les schémas approximants peuvent ajuster leurs positions. Ce qui donne en général un meilleur
lissage, mais l'utilisateur à moins de contrôle sur le résultat final. ex :
➢ Les subdivisions de surface Catmull-Clark
➢ Les subdivisions de surface Doo-Sabin
➢ Les subdivisions de surface Loop
➢ Les subdivisions de surface Mid-Edge
➢ Les subdivisions √3

E. Surfaces implicites
● Une surface implicite est la surface de niveau d'une fonction différentiable f définie sur un ouvert de R3
● Inconvénients :
➢ on ne peut pas en général itérer sur les points de la surface
➢ on peut seulement tester si un point est à l'intérieur, sur la surface ou à l'extérieur de l'objet
➢ pas directement visualisable
➢ topologie de surface contrainte : pas de bords ni de trous sur la surface
● Avantages : Volumes consistants :
➢ opérations booléennes triviales (∪,∩, r)
➢ test de collision trivial
➢ surfaces lisses topologie du volume arbitraire (ex : genre de la surface)

Quelques qst qu’elle a posé avant

La surfelisation :
➔ La représentation par surfels est en fait une grille 3D où des cellules stockent des surfels. Les données
nécessaires pour le rendu d’un surfel sont :
– La position du surfel (donnée implicitement par des coordonnées de la cellule).
– L'orientation du surfel (un vecteur normal quantifié).
– Les propriétés optiques du surfel (une couleur ou une indice dans une table qui stocke de différents
matériaux)
➔ La surfelisation (conversion d’un modèle géométrique en sa représentation par surfels) est tout simplement un
processus de rasterisation (ou échantillonnage) qui extrait des informations nécessaires et les stocke dans les
cellules de la grille. Nous proposons ici deux algorithmes de surfelisation :
– Version polygonale de notre scène test : algorithme purement logiciel qui met en œuvre un
échantillonnage analytique avec une résolution donnée.
– Version fil de fer de notre scène test : tente d’utiliser au maximum le hardware pour accélérer la
surfelisation. Son principe est l’utilisation de Z-buffer matériel pour obtenir les informations dont on a
besoin.

Avantages et inconvénients de la modélisation à base de points :

Avantages Inconvénients

– Améliore la qualité et la précision Les inconvénients incluent un temps de


– Réduit le temps de conception et d’exécution conception long. C’est un inconvénient assez
– Outil idéal de visualisation sérieux, car si un simple objet 3D est utilisé dans
– Permet de créer des modèles de références le système logiciel, il n’est alors pas nécessaire
d’effectuer une visualisation 3D, surtout si cet objet
est d’importance secondaire.

Vrai / Faux :
- L’infographie est l’utilisation des images pour représenter des traitements numériques : vrai
- La finalité de l’étape de rendu est un objet avec son apparence extérieure : vrai
- La modélisation 3D polygonal est une modélisation additive : faux

Choisir la bonne réponse :


- L’animation graphique permet de :
a- Visualiser le comportement des systèmes
b- Valider les modèles de simulation
c- Représenter l’interaction avec l’user
- Les conditions d’une bonne modélisation sont :
a- La validité
b- La puissance
c- La cohérence
Interpolation vs approximation :
● l'interpolation est une opération mathématique permettant de remplacer une courbe ou une fonction
par une autre courbe (ou fonction) plus simple, mais qui coïncide avec la première en un nombre fini de
points (ou de valeurs) donnés au départ.
● l’approximation : Détermination approchée ; estimation par à-peu-près.

➢ Relation entre Bézier et B-spline :


Bézier est un cas particulier de B-spline

➢ Passage de Courbe de Bézier à Surface de Bézier :


- The Bézier surface is formed as the Cartesian product of the blending functions of two
orthogonal Bézier curves.
- either by rotation.
- or by using another Bezier curve that takes as input a Bezier curve.

Rappel : Domaines autour de l’image

➢ Synthèse d’images : produire une image à partir d’une description de la scène (image en output)
➢ Reconnaissance de formes : analyser une image pour en extraire des informations pertinentes (images en input)
➢ Traitement d’images : images en input et en output
➢ Conversion de modèles (géométriques) : convertir un modèle en un autre. inputs et outputs sont des scènes (voir
définition de la scène dans la partie qui suit -> )

2. Synthèse d’images

[Images numériques vs. images de synthèse]


Une image numérique englobe les images capturées d’une scène réelle par un appareil numérique et images
de synthèse (générées par ordinateur)

[Images de synthèse 3D ou 2D?]


l’image est par nature 2D. par contre la scène (notion abstraite) peut représenter des objets de nature 3D, elle
est enregistrée en mémoire par diverses data structures (par exemple ensemble de points à 3 coordonnées)

[Etapes de création image de synthèse]


1. Création de la scène (modélisation) : modèle géométrique, structure interne contenant toutes les informations des
objets à visualiser.
2. Visualisation de la scène (passage du modèle à l’image numérique). algorithme de visualisation et de calcul de
rendu appliqué
a. types de visualisations : on peut réaliser des images en fil-de-fer ou éliminer les parties cachées (selon les
besoins)
b. algorithmes de visualisation avec élimination des parties cachées : 3 grandes catégories : (détaillés en
annexe)
i. ceux travaillant par balayage ligne par ligne : Algo de Watkins
ii. ceux travaillant par subdivision : Algo de Warnock
iii. ceux travaillant par classement en profondeur : Algo du peintre, Z-buffer, Algo de Newell
et Sancha, Algo de Fuchs-Kedem-Naylor, Algo d’Atherton et Weiler
c. Les algos peuvent produire soit des images point par point soit du dessin au trait

[Accélération de l’affichage de facettes]


● Accélération des algorithmes par suppression de facettes pour les solides définis par le bord : si les
facettes définissent le bord d’un solide fermé (non nécessairement convexe) alors on peut ne pas traiter
au niveau de l’affichage les facettes qui sont orientées dans la direction opposée à l’observateur. test
rapide puisqu’il suffit d’un simple produit scalaire entre le vecteur normal à la facette et le vecteur
joignant l’œil de l’observateur à la facette

Domaines d’application :
CAO et CFAO, Dessins animés, télévision, pub, architecture, médecine (imagerie médicale), biologie (modélisation
moléculaire), pédagogie, simulation, cartographie, jeux vidéos.

Questions /Réponses :
● Les classes d'algorithmes de visibilité existants :
❖ Algorithmes en espace image
❖ Algorithmes en espace objet

Algorithme en espace image Algorithme en espace objet

Avantages Plus simples ➔ La précision dépend de la


résolution des objets.
➔ La visibilité est
indépendante de la
résolution de l’image.

Inconvénients ➔ La précision dépend de la Algorithme complexe


résolution de l’image.
➔ On doit recalculer la
visibilité à chaque
changement.

● Différence entre l'algorithme du peintre et de celui du tampon de profondeur :

L'algorithme du tampon de profondeur fait partie des algorithmes en espace image, tandis que celui
du peintre fait partie des algorithmes en espace objet.

● La qualité d’un rendu dépend des propriétés géométriques de la surface

3. Introduction à l’animation

A. Les animations
● Animation = succession rapide d’images (qui peuvent être de synthèse) chacune différant un peu de la précédente →
impression de mouvement au niveau du cerveau
● Modélisation de l’animation 2D ou 3D selon le modèle géométrique utilisé pour les images
● Pour animer des images, on calcule, à partir d’une scène donnée, des images différentes résultant de la modification de
certains paramètres de la scène.

B. Modélisation des animations 2D/3D

● En plus de la scène représentée par un modèle 2D/3D le logiciel d’animation modélise aussi le mouvement (trajectoire)

● Par exemple en 2D : on peut modéliser le mouvement d’un objet en définissant la trajectoire par une courbe de bézier. Le
logiciel, qui possède les coordonnées de l’obj, appliquera les opérateurs math. (translation/rotation) pour calculer ses
différentes positions et générer les images correspondantes reproduisant le mouvement
● La même chose peut se faire en 3D.
● La définition des trajectoires n’est pas simple à réaliser, surtout en 3D.

● Il existe des outils (matériels+logiciels) pour récupérer des trajectoires à partir de mouvements naturels d'acteurs réels.
Ces modèles de trajectoire sont ensuite associés à des acteurs/objets virtuels.

● Principe des images-clés:


○ On dispose d’un modèle géométrique 2D ou 3D.
○ On définit pour un paramètre p sa valeur p0 au temps t0 ainsi que sa valeur p1 au temps t1. Ceci donne deux
images différentes nommées images-clés.
○ Le logiciel détermine ensuite les images intermédiaires par interpolation du paramètre p entre les instants t0 et t1.
○ Le logiciel peut traiter simultanément plusieurs paramètres. il peut connaître les éléments qui se correspondent
d'une image clé à la suivante et ainsi de déterminer les modèles géométriques des positions intermédiaires.

○ si les images-clés sont sous forme de matrices de points (pas de modèle géométrique) : technique du Morphing
pour l’animation.
○ [Morphing] définir des points particuliers sur deux images clés et établir la correspondance entre ces points. D'un
point à un autre le logiciel effectue une interpolation linéaire de la couleur.

● Il existe des moyens de description de mouvement basés sur les causes du mouvement. exemple: simulation des lois de
la mécanique appliquées aux solides, cinématique, comportement de tissus sous l’effet de la pesanteur, du vent, etc.

[Représentation interne dans le logiciel]


● Un objet articulé est défini par une hiérarchie d’objets élémentaires (ex: mvt du corps humain entraîne mvt de toutes ses
parties auxquelles s'ajoutent leurs mouvements propres).
● Les systèmes graphiques (OpenGL) permettent de travailler avec des coordonnées locales et d’exprimer le mouvement
d’une entité par rapport à son père et non pas de manière absolue → On gagne en facilité de description et de calcul.

C. Animation et contraintes
● Si des contraintes ont été définies pour un système (mécanisme) et qu'elles réduisent les degrés de liberté à 1, la
variation d’un seul paramètre détermine tous les autres → Il devient facile de produire une animation en ne faisant varier
qu’un seul paramètre.

[Cinématique inverse]
● Comme les divers paramètres sont reliés par des contraintes, il est possible de définir un état final et de reconstruire les
différentes étapes qui y conduisent.
● Si le système est sous-contraint, il n’y a pas forcément une unique solution
● Le système doit alors permettre de choisir une solution parmi les possibles, en ajoutant des
● contraintes choisies par l’utilisateur.

TD Animation : graphe de scène


Graphe de scène : Organisation hiérarchique des différents éléments composant une
scène 3D, représenté par un arbre (graphe orienté acyclique), contient :
● Des éléments géométriques
Des propriétés de rendu
● I des paramètres caméra
● I des paramètres d’illumination
● I des transformations géométriques.

Avantages de son utilisation :


● Fournir des relations parents-enfants aux matrices
● Appliquer des transformations géométriques à un groupe d’objets.

4. Réalité virtuelle et interaction

C'est quoi le RV ?
Elle renvoie typiquement à une technologie informatique qui simule la présence physique d'un utilisateur dans un
environnement artificiellement généré par des logiciels ,pour créer des réalités synthétisées, partageables par plusieurs
personnes, que nous pourrions appréhender par les cinq sens et avec lesquelles nous pouvons interagir, le tout par
l’intermédiaire d’artefacts informatisés.

C’est quoi un environnement virtuel ?


Environnement virtuel: Il est considéré comme le lieu suggéré par la RV pour accueillir un ou plusieurs utilisateurs et leur
permettre d’accomplir certaines tâches avec l’impression d’être dans un cadre spécifique.

Classification d’environnement virtuel :


Il ya 3 selon le degré d’immersion qu’ils procurent à l’utilisateur :
● environnement virtuel non-immersif (Non-Immersive Virtual Environment " NIVE ")
● environnement virtuel semi-immersif (Semi-Immersive Virtual Environment " SIVE ")
● environnement virtuel totalement immersif (Fully-Immersive Virtual Environment " FIVE ")
C’est quoi une technique d'interaction ?
désigne la méthode qui permet d’effectuer une tâche d’interaction dans un environnement virtuel
Paradigme d’interaction?
La notion de paradigme d’interaction est utilisée par certains auteurs pour désigner un ensemble de règles et de
techniques permettant à l’utilisateur d’accomplir des tâches d’interaction au sein d’un environnement virtuel.
Composantes principales d’une application RV ?
Une application en RV sera définie par ses trois composantes principales : immersion, interaction et autonomie.
Graphiquement, une application sera représentée par un point dans un repère à trois dimensions
immersion/interaction/autonomie, pour lequel les axes sont normalisés entre zéro (critère totalement absent) et un (critère
totalement présent).

● Immersion : l’exposition d’un utilisateur à un environnement virtuel au moyen de dispositifs occultant tout ou partie du monde
réel, pour afficher en lieu et place un monde simulé numériquement.
● Autonomie : RV, la notion d’autonomie est liée aux différentes composantes de l’environnement virtuel. L’utilisateur fait partie
de ces composantes et il est considéré comme l’entité la plus active de cet espace.
● L’interaction : un langage de communication entre l’homme et la machine.

Classification des techniques d’interaction 3D :


● L’interaction en RV est comme la traduction des actions des utilisateurs dans le monde réel en des tâches spécifiques dans
l’espace virtuel.
● Une tâche peut être définie comme la fonction que l'utilisateur exécute à un moment donné.
● L’interaction 3D donne aux utilisateurs le pouvoir de réaliser différentes tâches au sein d’un monde virtuel.
● Le résultat de l’exécution de cette fonction se traduira par les changements de l’état du système dans lequel l’utilisateur évolue.

Nous présentons les quatre tâches d’interaction 3D qui constituent la classification moderne ainsi que les techniques associées à
chacune d’elles:
1. La navigation désigne l’ensemble des méthodes qui permettent de connaître la position d’un objet par rapport à un
système de référence, ou par rapport à un point fixe déterminé.

les facteurs à prendre en considération dans la conception de toute technique de navigation sont :La vitesse de
déplacement – La précision d’exécution– La conscience spatiale orientation dans l’environnement virtuel pendant et
après la navigation– La facilité d’apprentissage – La facilité d’utilisation – La capacité de l’utilisateur à collecter des
informations sur l’environnement pendant le voyage – La présence virtuelle – Le confort de l’utilisateur.

-la navigation peut être libre ou assistée -

A- Nav libre :
Dans la plupart des cas d’étude sur l’interaction 3D, le concept utilisé pour le développement de nouvelles
techniques est inspiré de l’interaction de l’être humain avec son environnement réel. Par exemple, marcher est le
moyen le plus naturel et le plus utilisé pour se déplacer d’un endroit à un autre dans la vie quotidienne.

Bowman et associés classent les différentes techniques de navigation selon les trois tâches de base du
déplacement : le choix de la direction , la vitesse de déplacement , déplacement du point de vue

B-La navigation assistée :


Lorsque l’utilisateur connaît sa cible, c’est-à-dire la destination de son déplacement, il est possible de l’assister
afin de le décharger de certaines tâches pendant le processus de navigation. Pour cela, l’utilisateur peut se servir
d’une liste ou d’un menu, dans lequel il peut sélectionner son choix.

2. La sélection : représente la désignation d’un objet ou d’un ensemble d’objets afin d’accomplir un objectif donné au
sein de l’environnement virtuel

3. La manipulation:La navigation ou la sélection sont des tâches qui permettent à l’homme d’avoir l’illusion d’habiter
un monde virtuel, de voyager au sein de celui-ci et même d'atteindre et toucher les objets appartenant à ce dernier. Il
y a 2 types de manipulation:la manipulation directe ( l’utilisateur agit directement sur l’objet appartenant à
l’environnement virtuel) et la manipulation indirecte(quelle l’utilisateur agit sur les composantes du monde virtuel par
l’intermédiaire d’entités graphiques (boutons, menus 3D) ou matérielles)

Classification des techniques d’interaction pour la sélection et la manipulation :


Il existe deux classifications de base des techniques de sélection et de manipulation :

1 .la classification par décomposition en tâche : elle sert à structurer l’espace de conception et de modélisation des techniques
d’interaction afin qu’on puisse mettre en place de nouvelles techniques d’interaction en utilisant les composants déjà existants.

2. la classification par métaphore : La plupart des techniques d’interaction 3D courantes sont basées sur quelques métaphores de
base ou une combinaison de ces métaphores. Chaque métaphore forme le modèle fondamentale d’une technique d’interaction.

Les techniques de sélection et de manipulation


1.Les techniques égocentriques :Dans cette technique, l’utilisateur touche l’objet virtuel avec sa main réelle pour le désigner, puis
valide la sélection, soit en fermant le poignet, soit en restant en contact avec l’objet un certain temps.

2.Les techniques excentriques: l’utilisateur interagit avec l’environnement 3D de l’extérieur de celui-ci. Dans ce cas, l’utilisateur est
considéré comme un acteur qui ne fait pas partie de la scène virtuelle, mais il a tout de même le pouvoir d’agir sur les entités du
monde virtuel.

3.Les techniques hybrides: Jusqu’ici nous avons évoqué des techniques de sélection et/ou de manipulation,
Cependant il existe d’autres types de techniques dites hybrides basées sur les deux métaphores.

C’est quoi le contrôle d’application?


ou système de commande est une tâche qui permet d’exécuter une commande dans le but de changer le mode d’interaction et/ou
l’état du système.
BILAN :

C'est quoi un avatar ?


Un avatar est une illustration graphique personnalisée. Il représente un utilisateur d’ordinateur, ou un personnage ou un alter ego de
cet utilisateur. Un avatar apparaît soit sous forme tridimensionnelle soit sous forme bidimensionnelle dans les forums Internet et les
mondes virtuels. Cette illustration se rencontre sur les sites web et dans les jeux de rôle en ligne. Elle fait partie intégrante du chat
internet, des systèmes de messagerie internet,des blogs et de l’intelligence artificielle et en particulier de la réalité virtuelle.

Questions/Réponses :

1. L'interaction multimodale :
relève de la combinaison de plusieurs moyens de communication entre l'utilisateur et la machine, exemple : combinaison
des gestes et de la parole (« Mets-ça ici », accompagné d'un geste de désignation) et l'interaction à deux mains sur une
table interactive.

2. Les natures des annotations en RA :


- Marker based : AR basé sur des marqueurs : dans certains cas, nous devons savoir exactement ce que
l'utilisateur regarde.
- Markerless : AR sans marqueur : dans d'autres cas, nous avons juste besoin d'afficher des modèles de réalité
augmentée 3D, ce que nous pouvons faire sans marqueur.
- Location based : AR basé sur l'emplacement : dans quelques cas, nous devons fournir des informations
locales, telles que des itinéraires à pied ou des panneaux de signalisation. Dans ce cas, nous devons connaître
l'emplacement de l'utilisateur.

3. Principe de la technique de la main virtuelle :


D'un point de vue strictement technique, la réalité virtuelle est un concept simple, combinant matériels (casques, écrans,
capteurs…), et environnements synthétiques générés par ordinateur. Cette technologie permet d’immerger des
utilisateurs dans des environnements simulés.
Les casques de réalité virtuelle sont ainsi des machines conçues pour permettre à des utilisateurs de vivre des activités
sensorimotrices et cognitives bien réelles dans un environnement synthétique 3D, lui, purement virtuel. De plus en plus
légers et faciles à porter, ils affichent une image calculée en fonction des mouvements de l’utilisateur, favorisant ainsi une
très bonne immersion
5. les TP :

A. TP1 :

1-Les courbes de bézier ont été inventées vers la fin des années 1950 par un ingénieur des usines Renault nommé
Pierre Bézier. L’objectif était de tracer des courbes comme à main levée par l’ordinateur notamment pour tracer des
profils de carrosserie.

2- à la même époque un ingénieur de Citroën invente un algo de numérisation des ces courbes.

3-une autre application des ces courbes est la typographie et notamment les polices de caractères( polices
Postscript).L’intérêt est que ces courbes sont recalculées lors de chaque agrandissement ce qui évite le phénomène de
pixellisation

B. TP2 :

Un algorithme de rendu de scène 3D est un procédé permettant de passer d’une scène en trois dimensions à une
projection de cette scène sur un écran en deux dimensions afin de pouvoir la visualiser.

Une scène est un environnement (monde) comportant des objets (cube, sol, lumière…).

Le rendu d’une scène est une image en 2D de cette dernière par rapport à un point de vue (caméra).

1-C’est quoi Z buffer ?

Le z buffer : en français “tampon de profondeur”, est une méthode employée dans le cadre de l’affichage d’une scène 3D.
Sa fonction est de gérer le problème de la visibilité qui consiste à déterminer quels éléments de la scène doivent être
rendus, lesquels sont cachés par d’autres et dans quel ordre l’affichage des primitives doit se faire.

2-Le principe du z-buffer :

On donne à chaque pixel une coordonnée Z qui est stockée dans un tampon (buffer), et qui représente la profondeur du
pixel. Lors du rendu de l’image notre calculateur compare la profondeur des pixels ‘étant dans la même position x, y et
affiche le pixel dont la profondeur est la moindre.

L’algorithme de Z buffer intervient lorsqu’ on dessine nos scènes 3D en enregistrant les profondeurs des objets (z),
ensuite pour chaque pixel, s’il existe plus de deux objets qui se superposent il va prendre le moins profond pour éviter de
dessiner les mêmes points sur un même pixel. Cad il permet d'éliminer les points cachés.
Annexe
Algorithmes de visualisation (avec élimination des parties cachées) détaillés

● Algorithme du peintre : par classement en profondeur


○ Les facettes ou objets composant la scène sont d'abord classés en fonction de leur distance à la fenêtre d'affichage.
○ L'affichage se fait ensuite en partant de l'objet le plus éloigné et en revenant vers l'avant.
● Z-buffer : par classement en profondeur
plus rapide que peintre

● Affichage d’un solide convexe (ex : ballon)


○ pour un tel volume : une face est soit entièrement visible soit entièrement cachée
○ il suffit de parcourir l’ensemble des faces du volume en n’affichant que les faces orientée vers l’observateur
(test de l’orientation de la face : on utilise l’eqt du plan de la face ax+by+cz+d=0 et on remplace par le point
(x0,y0,z0) de l’obs pour voir de quel côté du plan il se trouve)

● Algo de Watkins : par balayage ligne par ligne

○ 1) On découpe la scène par des plans parallèles


○ 2) On étudie, pour chacun de ces plans, l’intersection avec la scène. Une analyse des segments ou morceaux de
segments obtenus est réalisée pour déterminer ceux qui sont visibles,
○ 3) Ceux qui sont visibles sont projetés sur la ligne de balayage ce qui donne l’image sur une ligne.

● Amélioration algo de Walkins : On peut réduire le coût de cet algorithme en tenant compte de la cohérence de la scène.
Le principe consiste à calculer le segment intersection du plan horizontal avec une facette à partir du segment trouvé sur la
ligne de balayage précédente

● Algo de Warnock : par subdivision de l’espace de travail


○ on subdivise l’espace image récursivement en quatre sous-espaces jusqu’à obtenir une situation simple ou bien une
dimension de l’espace de taille inférieure au point observable
○ dans les situations simples ou les situations ponctuelles on sait quoi afficher :
■ espace de travail vide → rien a afficher
■ une facette qui fait écran dans l’espace de travail (elle le couvre) → si c’est une image point par point on
affiche l’espace avec la couleur de la facette, si c’est un dessin au trait on n’affiche rien
○ lorsque l’espace de travail est réduit à un point on affiche ce point dans la bonne couleur

● Algo de Newell-Sancha : par classement en profondeur


○ Dans une première étape, on cherche à classer les faces dans la direction de l’observation.
○ Dans une deuxième étape, on affiche les faces ainsi classer d’arrière en avant, c’est-à-dire en commençant par les faces les
plus éloignées de l’observateur.
○ Lors de la comparaison de deux faces, il se peut que l’on ne puisse pas établir un ordre d’affichage de celles-ci.
○ On procède alors à un découpage de l’une des faces par le plan de l’autre.

● Algo de Fuchs, Kedem Naylor


○ Dans l’algorithme de Newell, Newell et Sancha le découpage des faces pour effectuer leur classement dépend de la position
de l’observateur ⇒ on est obligé de recalculer complètement le découpage lorsqu’on change le point d’observation
○ L’idée de l’algorithme de Fuchs, Kedem et Naylor est d’effectuer un découpage indépendant de la position de l’observateur
celle-ci n’intervenant qu’au moment de l’affichage


○ L’algorithme comporte deux phases :
■ création d’un arbre de priorité contenant toutes les facettes. Il y a une facette à chaque nœud. La racine de l’arbre est une
face quelconque prise comme face de référence. Pour un nœud quelconque, le sous arbre gauche contient les faces
contenues dans le demi-espace E1 de la face et son sous-arbre droit les faces contenues dans le demi-espace E2

■ affichage de l’arbre: L’affichage de l’arbre se fait ensuite en tenant compte de la position de l’observateur par rapport à
chaque nœud.Si l’observateur est dans le demi-espace E1 positif, on affiche d’abord les faces en arrière (sous-arbre droit),
puis la face contenue dans la racine de l’arbre et enfin les faces en avant (sous-arbre gauche).

● Algo d’Atherton et Weiler par classement en profondeur


○ L’idée directrice est, contrairement à ce que l’on fait dans les algorithme d’affichage d’arrière en avant, de n’afficher à l’écran
que ce qui sera définitivement visible (on n’accède qu’une seule fois à chaque pixel de l’image).
○ Le principe de l’algorithme consiste à prendre une facette R de la scène et à effectuer un découpage de toutes les autres
facettes de la scène par cette facette de référence (projection).
○ Ce découpage donne un ensemble de polygones contenus dans la facette de référence, et un ensemble de polygones qui
lui sont externes. on les met dans deux listes :
■ une liste interne formée de tous les morceaux de polygones se trouvant à l’intérieur du polygone de référence.
■ une liste externe formée de tous les polygones se trouvant à l’extérieur du polygone de référence


○ si la facette de référence R se trouve devant toutes les autres facettes internes, il suffit de l’afficher sans tenir compte des
autres facettes internes.Si au contraire la facette de référence n’est pas devant toutes les autres, il faut prendre une autre
facette parmi les facettes internes qui ne sont pas situées derrière la facette R et recommencer le processus avec le
polygone de cette facette comme référence

● Algo de Catmull : utilise une technique de subdivision pour produire quatre morceaux à partir d’une surface et un tampon
de profondeur comme dans l’algorithme qui traite des facettes planes.
○ utilisé avec des surfaces paramétriques :


○ On traite séquentiellement la liste des morceaux de surface. Un tampon mémorise les informations de lumière et de
profondeur de chaque pixel. Pour chaque morceau deux situations se présentent :
■ le morceau S se projette sur un seul pixel P auquel cas si sa distance z est plus petite que celle mémorisée dans P, on
remplace l’information de luminosité et de profondeur stockée dans P par celles de S.
■ le morceau ne se projette pas sur un seul pixel auquel cas on le subdivise en plusieurs morceaux qui sont ajoutés dans la
liste à traiter.
■ Si les subdivisions font tendre vers zéro toutes les dimensions des morceaux de surface, chaque morceau fini par se
projeter sur un seul pixel et par conséquent, le processus finit par s’arrêter.
■ À la fin du traitement le tampon de profondeur renferme les informations lumineuses pour chaque pixel correspondant aux
morceaux de surfaces visibles.

● Algorithme de Griffiths Cet algorithme travaille avec des surfaces paramétriques et permet un affichage par lignes d’ombre

● Lancer de rayons L'algorithme de lancer de rayons permet pratiquement toutes les visualisations; SEUL inconvénient :
leeeeent
○ Contrairement au tampon de profondeur, on part des pixels de l’images pour aller vers la scène
○ Pour chaque pixel de l’image (ramené dans la fenêtre de projection de l’espace utilisateur) on détermine la demi-droite qui
joint l’œil de l’observateur avec le pixel.
○ On détermine les points d’intersection de cette demi-droite avec chacun des objets de la scène.
○ On classe ces points dans l’ordre de profondeur par rapport à la direction d’observation.
○ Le point le plus proche est affiché. Cette demi-droite est appelée rayon primaire.


○ Lumières et ombres : Pour déterminer la lumière reçue par le point que l’on souhaite afficher on va déterminer une ligne
secondaire qui part de la facette et rejoint la source lumineuse (rayon secondaire). et on refait la meme chose
○ on peut aussi de la meme manière déterminer la transparence et réflexion

Vous aimerez peut-être aussi