Title: Chapitre VII
1Chapitre VII
- Transformations visuelles des objets
2Transformations visuelles
OBJECTIFS
Décrire les projections pour représenter des
volumes sur une surface daffichage plane. Décrir
e les transformations visuelles et leurs
représentations matricielles.
PLAN DU CHAPITRE
Transformation de projection Modèle visuel de
base Modèle visuel simplifié observateur et
centre dintérêt Transformations visuelles
3Introduction
Le modèle visuel dans l'espace à 3 dimensions est
plus complexe que le modèle 2D. Il s'agit - de
définir simplement une fenêtre (rectangulaire)
bi-dimensionnelle, - de découper la scène selon
celle-ci et - de convertir les coordonnées
utilisateur en coordonnées écran. La
difficulté supplémentaire provient du fait que
les dispositifs d'affichage coïncident avec un
plan (un objet 3D dégénéré). L'affichage d'objets
3D se fait donc grâce à une projection de ceux-ci
sur un plan (de vue). Ce sont des
transformations qui permettent de passer du
système de coordonnées de l'utilisateur dans
l'espace 3D à celui du dispositif d'affichage
dans l'espace 2D.
2D
3D
4Transformation de projection
Une projection est une transformation
permettant le passage d'un système de coordonnées
de dimension n à un autre système de coordonnées
de dimension inférieure à n.
Exemple de projection
Une projection d'un objet est obtenue en faisant
passer une droite en chaque point dun objet et
en cherchant les intersections avec le plan de
vue. Ces droites appelées "projecteurs" émanent
toutes d'un même point le "centre de projection".
5Types de projection
2 grands types de projection soit une
perspective, le centre de projection est
à une distance finie du plan de
vision soit une projection parallèle,
le centre de projection est à une
distance infinie.
6Projection géométrique plane
La projection s'effectue sur un plan et non pas
sur une surface courbe de plus, les projecteurs
sont des droites plutôt que des courbes
quelconques. Dans le cas d'une perspective,
toutes les lignes émanent d'un seul
point, le centre de projection. Pour ce qui
est d'une projection parallèle, toutes les
droites sont parallèles à une direction de
projection donnée. Une projection en perspective
où le centre de projection est situé à l'infini
est équivalente à une projection en parallèle.
Note
7Projection en perspective
La projection en perspective se rapproche du
système visuel humain. Cela permet d'atteindre
un certain niveau de réalisme. La taille d'un
objet projeté est inversement proportionnelle à
la distance entre le centre de projection et
l'objet. Nous ne devons pas choisir la projection
en perspective si nous sommes intéressés à la
forme exacte des objets et à connaître leur
dimension. Aucune mesure de distance ne peut être
prise sur l'objet projeté. Des segments de droite
parallèles ne sont plus parallèles après
projection.
8Projection en parallèle
La projection en parallèle est moins réaliste
mais elle fournit des mesures exactes. Des
segments parallèles demeurent parallèles après
projection. Les angles appartenant aux faces de
lobjet qui sont parallèles au plan de
projection sont préservés.
9Classification des projections planes
10Projections en parallèle
Nous distinguons différents types de projections
en parallèle selon les relations qui existent
entre la direction de projection et la normale au
plan de vue. Lorsque les projecteurs sont
perpendiculaires au plan de vue (la direction
de projection est normale au plan de
vision), nous avons une projection parallèle
orthographique. Autrement, nous avons une
projection parallèle oblique.
11Projection parallèle orthographique multi-vue
Il s'agit de plusieurs projections
orthographiques choisies de telle manière que le
plan de vue soit parallèle à une face différente
de l'objet. Même si plusieurs projections du
même objet sont présentées simultanément,
cela peut être difficile d'en déduire la forme 3D
de l'objet.
12Projection parallèle orthographique axonométrique
Une axonométrie est obtenue en choisissant un
plan de vue de telle manière que plusieurs faces
adjacentes de l'objet soient visibles.
Á l'intérieur de cette classe, une dernière
subdivision peut être faite celle-ci a
trait aux angles que forme le plan de vue avec
chacun des axes.
13Projection parallèle orthographique dun point
q sur le plan déquation N P c(N est le
vecteur normal unitaire à ce plan)
Il s'agit de déterminer le point qortho qui
satisfait l'équation (qortho - q) x N 0. Deux
cas peuvent se produire a) q appartient au
plan. Il s'en suit que qortho q. b) q
n'appartient pas au plan. Nous pouvons réécrire
l'équation précédente comme suit l tel que
qortho - q lN. Il nous reste donc à déterminer
la constante l. En effectuant le produit
scalaire de N par qortho - q ou par N, on
obtient N(qortho - q) l NN l c -
Nq. On obtient donc qortho q c - Nq N.
14Projection parallèle oblique
Elles sont caractérisées par le fait que la
direction de projection ne coïncide pas avec la
normale au plan de vue. L'angle des projecteurs
avec le plan de vision peut être choisi comme
suit i) projection cavalière L'angle entre la
direction de projection et la normale au plan de
vue est de 45. ii) projection cabinet L'angle
entre la direction de projection et la normale au
plan de vue est arctan 2 63.4.
15Projection parallèle oblique dun point Q sur le
plan XZ
Déterminer la projection en parallèle
oblique d'un point Q º (qx, qy, qz) sur le plan
XZ où Qoblique est le point recherché,
QQoblique est un projecteur, Qortho º (qx, 0,
qz) est la projection // orthographique de Q sur
le plan XZ. µ l'angle entre la projection
de QQoblique sur le plan XZ et QorthoR, b
l'angle entre QQoblique et le plan XZ.
R
16Projection parallèle oblique dun point Q sur le
plan XZ
Qoblique Q l QorthoR où la composante en y
de Qoblique est 0. QorthoQ QobliqueR En
termes de µ et de b, nous avons Qoblique Q
l cos b cos µ QobliqueQ. -sin b cos b sin
µ
Exemple
Qortho R cos ? cos ? QobliqueQ
QobliqueQortho QorthoR QobliqueQ
QobliqueQ QobliqueQortho
R
17Projection parallèle oblique dun point Q sur le
plan XZ
Puisque la composante en y de Qoblique est 0, il
s'en suit que l qy / QobliqueQ sin
b. Qoblique qx cot b cos µ qy
0 qz cot b sin µ qy
Projection parallèle oblique (cas particuliers)
i) µ b 90 C'est une projection parallèle
orthographique. ii) b 45 C'est une
projection cavalière. iii) cot b ½ C'est une
projection cabinet.
18Projections en perspective
Nous distinguons 3 types de projections en
perspective selon que le plan de vue coupe 1, 2
ou 3 axes. a) perspective à 1 point Nx Ny Nz
? 0, Nx Ny Nx Nz Ny Nz
0 b) perspective à 2 points Nx Ny Nz 0,
Nx Ny Nx Nz Ny Nz ? 0 c)
perspective à 3 points Nx Ny Nz ? 0.
19Projections en perspective
D'autres paramètres que la normale au plan de vue
jouent un rôle important - un point de
référence P à un objet, - le centre de
projection C. 1) la hauteur du centre de
projection par rapport à l'objet. si Py gt Cy
l'horizon est au-dessous de l'objet. si Py Cy
l'horizon est centré. si Py lt Cy l'horizon est
au-dessus de l'objet. 2) la distance du centre de
projection à l'objet. Si cette distance est
petite, les profondeurs sont exagérées. Dans le
cas contraire, l'objet semble plat. 3) la
position horizontale du centre de projection par
rapport à l'objet. Ceci permet d'attirer
l'attention sur une face d'un objet plutôt qu'une
autre, en rapprochant le centre de celle-ci
latéralement. 4) la distance du plan de vue à
l'objet permet de produire un effet de zoom.
20Modèle visuel de base
Scène 3D fenêtre viewport
Système normalisé entre 0 et 1
21Définition du plan de vue
Afin de représenter sur un dispositif graphique
bidimensionnel un objet 3D, celui-ci doit être
projeté sur un plan appelé plan de vue. Pour
fixer ce plan, on fait appel à 3 données un
point de référence visuel R sur l'objet ou proche
de l'objet, un vecteur normal N au plan la
distance d du point de référence au
plan. L'équation du plan de vue est NP NR
d(NN)1/2, où P est un point de ce plan. NP
N (R ? N) où R ? N - R d, ?
N d ? d / N .
22Définition de la fenêtre un rectangle
délimitant ce qui doit être vu dans le plan de
vue
La fenêtre est spécifiée selon un système d'axes
UVW propre au plan de vue. Pour le déterminer,
l'utilisateur fournit un vecteur 3D appelé
view-up lequel est donné par rapport au point
de référence R. L'axe V est donné par la
projection du vecteur view-up
perpendiculairement au plan de vue i.e. le
vecteur Q relativement au point de réf. R Q
view-up l(N R) où l N(R - view-up)
/ N(N R). L'axe U est alors à 90 de l'axe
V dans le sens des aiguilles d'une montre
le vecteur (N R) x Q relativement à R. La
fenêtre est définie dans le plan de vue grâce aux
sommets extrêmes (umin, vmin) et (umax,
vmax).
23Définition du type de projection
Le centre de projection ou la direction de
projection sont définis à partir d'un point
de référence de la projection, désigné par RP. Si
la projection est une perspective, alors RP est
le centre de projection. Autrement, la direction
de projection désignée par DP correspond à CF -
RP. Il faut noter que RP est défini dans le
système d'axes de la fenêtre.
Note
Centre de la fenêtre
24Modèle visuel simplifié OBSERVE (position de
lobservateur),INTÉRÊT (position où lon regarde)
Hypothèses pour définir les paramètres
visuels - le plan de vue est ? à la direction
du regard - N INTÉRÊT - OBSERVE. - R
OBSERVEDOBSERVE, plan de vue / N
N dist(centre de projection, plan de vue) -
centre de projection ? OBSERVE - point de
référence ? plan de vue - l'origine du système
daxes est R.
25Transformations visuellesprojections parallèles
Nous pouvons ramener le problème aux 3 opérations
de base suivantes a) translation à l'origine du
plan de vue, b) rotation du plan de vue pour
l'amener à coïncider avec le plan XY, c)
projection sur le plan de vue. On représente
matriciellement toute transformation visuelle de
ce type par Vproj Pproj RXY Tplan de
vue où Vproj est la matrice de transformation
visuelle dans le cas de projections
parallèles, Tplan de vue est la matrice de
translation à l'origine du plan de vue, RXY est
la matrice de rotation du plan de vue pour
l'amener à coïncider avec XY Pproj est la
matrice de projection parallèle.
26Transformations visuellesprojections parallèles
Soient un point de référence visuel R, un
vecteur normal N au plan de vue la distance d du
point de référence au plan, alors R d /
(NN)1/2 N est un point du plan de vue. Par
conséquent, Tplan de vue correspond à T-R - d /
(NN)1/2 N. La rotation que nous allons
effectuer consiste à transformer le vecteur
normal N au plan de vue de telle manière qu'il
coïncide avec l'axe négatif des Z. La projection
du vecteur view-up sur le plan de vue doit
correspondre à l'axe des Y il s'agit d'effectuer
une rotation autour de l'axe des Z d'un angle
g où cos g view-upy / view-up.
27Transformations visuellesprojections parallèles
Le système de coordonnées de l'oeil est
normalement un système gauche (l'axe des Z est à
l'arrière) tandis que celui du monde réel est
généralement un système droit, ? il faut
appliquer une symétrie selon le plan XY SXY
E(1, 1, -1, 1). On obtient donc la matrice de
transformation parallèle Vproj Pproj SXY
RZg RXb RYa T-R - d / (NN)1/2 N où Pproj
est la matrice de projection parallèle. - la
projection est parallèle orthographique (le plan
de vue coïncide avec XY) Pproj E(1, 1, 0,
1). - la projection est oblique un cisaillement
selon l'axe des Z des coefficients W1 et W2 où W1
et W2 sont les composantes sur le plan de vue de
la projection oblique du vecteur unitaire selon
Z Pproj E(1, 1, 0, 1).CZ(W1, W2) CZ(cot
? cos ?, cot ? sin ?).
28Transformations visuellesperspectives
Considérons les grandes étapes de ce
traitement 1) Effectuer une translation qui
amène le point de référence à l'origine. 2)
Effectuer une rotation pour amener le vecteur
normal au plan de vue à être parallèle à l'axe
des Z négatif. 3) Effectuer une rotation afin que
la projection du vecteur view-up sur le plan de
vue devienne l'axe des Y. 4) Passer du système
droit du monde réel au système gauche de la
visualisation. 5) Effectuer un cisaillement afin
que la ligne centrale du volume de vue devienne
l'axe des Z. 6) Utiliser une transformation
d'échelle afin que le volume de vue corresponde
au tronc de pyramide décrit précédemment.
29Transformations visuelles perspectivespoint 6
Supposons que le centre de projection est placé
sur la partie négative de l'axe des Z et le plan
de vue coïncide avec le plan XY. Nous considérons
un point P et sa projection Q. Nous obtenons Qx
Px Cz / (Cz - Pz) Qy Py Cz / (Cz - Pz).
ce qui nous donne la transformation
suivante E(Cz / (Cz - Pz), Cz / (Cz - Pz), 0,
1). Lorsque le centre de projection n'est pas sur
l'axe des Z, il s'agit d'appliquer au préalable
une translation de (-Cx, -Cy, 0). En faisant
tendre Cz vers l'infini, nous retombons sur une
projection orthographique avec Qx Px et Qy Py.
FIN