chapitre vii transformations visuelles des objets

29
Chapitre VII Chapitre VII Transformations visuelles des objets

Upload: adrienne-gon

Post on 04-Apr-2015

121 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapitre VII Transformations visuelles des objets

Chapitre VIIChapitre VII

Transformations visuelles des objets

Page 2: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

2

Transformations visuellesTransformations visuelles

OBJECTIFSDécrire les projections pour représenter des volumes sur une surface d’affichageplane.

Décrire les transformations visuelles et leurs représentations matricielles.

PLAN DU CHAPITRETransformation de projection

Modèle visuel de base

Modèle visuel simplifié : observateur et centre d’intérêt

Transformations visuelles

Page 3: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

3

IntroductionIntroduction

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ïncidentavec 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 del'utilisateur dans l'espace 3D à celui du dispositif d'affichage dans l'espace 2D.

2D

3D

Page 4: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

4

Transformation de projectionTransformation de projection

Observateur

Exemple de projection

Une projection d'un objet est obtenue en faisant passer une droite en chaque pointd’un 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".

Une projection est une transformation permettantle passage d'un système de coordonnées dedimension n à un autre système decoordonnées de dimension inférieure à n.

Page 5: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

5

Types de projectionTypes 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.

Projection en perspective Projection en parallèle

Page 6: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

6

Projection géométrique planeProjection 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 :

Page 7: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

7

Projection en perspectiveProjection 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 lecentre 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.

Page 8: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

8

Projection en parallèleProjection 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 l’objet qui sont parallèles au plan de projectionsont préservés.

Page 9: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

9

Classification des projections Classification des projections planesplanes

projection

parallèle perspective

orthographique oblique 1 point 2 points 3 points

multivue axonométrie cabinetcavalière

isométrie dimétrie trimétrie

Page 10: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

10

Projections en parallèleProjections en parallèle

Nous distinguons différents types de projections en parallèle selon les relations quiexistent 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.

Page 11: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

11

Projection parallèle Projection parallèle orthographique multi-vueorthographique multi-vue

plan de vue

plan de vue

Il s'agit de plusieurs projections orthographiques choisies de telle manière que le plande 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, celapeut être difficile d'en déduire la forme 3D de l'objet.

Page 12: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

12

Projection parallèle orthographique Projection parallèle orthographique axonométriqueaxonométrique

Une axonométrie est obtenue en choisissant un plan de vue de telle manière queplusieurs faces adjacentes de l'objet soient visibles.

plan de vue

Á l'intérieur de cette classe, une dernière subdivision peut être faite: celle-ci a traitaux angles que forme le plan de vue avec chacun des axes.

Page 13: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

13

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: tel que qortho - q = N.

Il nous reste donc à déterminer la constante .

En effectuant le produit scalaire de N par qortho - q ou par N, on obtient:

N*(qortho - q) = N = = c - N*q.On obtient donc: qortho = q + [c - N*q] N.

Projection parallèle orthographique d’un point qsur le plan d’équation N * P = c

(N est le vecteur normal unitaire à ce plan)

Page 14: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

14

Projection parallèle obliqueProjection parallèle oblique

Elles sont caractérisées par le fait que la direction de projection ne coïncide pas avecla 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 estarctan 2 = 63.4°.

Page 15: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

15

Projection parallèle oblique d’un Projection parallèle oblique d’un point Q sur le plan XZpoint Q sur le plan XZ

Y

Z

X

QQ ortho

Q oblique

Déterminer la projection en parallèle obliqued'un point Q (qx, qy, qz) sur le plan XZoù

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,

l'angle entre QQoblique et le plan XZ.

R

Page 16: Chapitre VII Transformations visuelles des objets

16

Projection parallèle oblique d’un Projection parallèle oblique d’un point Q sur le plan XZpoint Q sur le plan XZ

Qoblique = Q + QorthoR où la composante en y de Qoblique est 0.QorthoQQobliqueR

En termes de et de nous avons:Qoblique = Q + cos cos QobliqueQ|.

-sin cos sin

Y

Z

X

QQ ortho

Q oblique

R

Exemple :

|Qortho R| = cos cos |QobliqueQ|= |QobliqueQortho| |QorthoR| |QobliqueQ| |QobliqueQ| |QobliqueQortho|

Page 17: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

17

Projection parallèle oblique d’un Projection parallèle oblique d’un point Q sur le plan XZpoint Q sur le plan XZ

Puisque la composante en y de Qoblique est 0, il s'en suit que = qy / [ QobliqueQ| sin .

Qoblique = qx + cot cos qy 0

qz + cot sin qy

i) = = 90° C'est une projection parallèle orthographique.

ii) = 45° C'est une projection cavalière.

iii)cot = ½ C'est une projection cabinet.

Projection parallèle oblique (cas particuliers) :Projection parallèle oblique (cas particuliers) :

Page 18: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

18

Projections en perspectiveProjections en perspective

Nous distinguons 3 types de projections en perspective selon que le plan de vuecoupe 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.

Page 19: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

19

Projections en perspectiveProjections 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 > Cy l'horizon est au-dessous de l'objet.si Py = Cy l'horizon est centré.si Py < 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.

Page 20: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

20

Modèle visuel de base Modèle visuel de base

Projection dans le plan de vue

Passage de la fenêtre au viewport dans le système de coordonnées du dispositif graphique

Système de coordonnées 2D dans le plan de vue

Système de coordonnées 3D de l'utilisateur

Système de coordonnées 2D du dispositif graphique

Scène 3D fenêtre viewportSystème normalisé

entre 0 et 1

Page 21: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

21

Définition du plan de vue Définition du plan de vue

Afin de représenter sur un dispositif graphique bidimensionnel un objet 3D, celui-cidoit ê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 N*P = N*R + d(N*N)1/2, où P est un point de ce plan.

N*P = N * (R + N) où || R + N - R || = d, || N || = d = d / || N ||.

Page 22: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

22

Définition de la fenêtre :Définition de la fenêtre :un rectangle délimitant ce qui doit être vu dans le plan de vueun rectangle délimitant ce qui doit être vu dans le plan de vue

axe U

axe V

N + R

view-up

R

N est la normale au plan de vueR est un point de référence

Système d'axes de la fenêtre

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 estdonné 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 vuei.e.le vecteur Q relativement au point de réf. R:

Q = “view-up” + (N + R)où = [N*(R - “view-up”)] / [N*(N + R)].

L'axe U est alors à 90° de l'axe V dans lesens 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).

Page 23: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

23

Définition du type de projectionDéfinition du type de projection

Le centre de projection ou la direction de projection sont définis à partir d'un point deré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

Page 24: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

24

Modèle visuel simplifié :Modèle visuel simplifié :OBSERVE (position de l’observateur),OBSERVE (position de l’observateur),

INTÉRÊT (position où l’on regarde)INTÉRÊT (position où l’on regarde)

N est la normale au plan de vue

R est un point de référence

Principe de la perspective selon un observateur et un centre d'intérêt

Centre de projection (OBSERVE)

N

INTÉRÊT

plan de vue

R

Hypothèses pour définir les paramètres visuels:

- le plan de vue est à la direction du regard

- N = INTÉRÊT - OBSERVE.

- R = OBSERVE+[DOBSERVE, 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 d’axes est R.

Page 25: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

25

Transformations visuelles:Transformations visuelles:projections parallèlesprojections 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

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.

Page 26: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

26

Transformations visuelles:Transformations visuelles:projections parallèlesprojections 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 / (N*N)1/2] N est un point du plan de vue.

Par conséquent, Tplan de vue correspond à T-R - [d / (N*N)1/2] N.

La rotation que nous allons effectuer consiste à transformer le vecteur normal N auplan 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

où cos = “view-up”y / ||view-up||.

Y

X

-Z

view-up

Page 27: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

27

Transformations visuelles:Transformations visuelles:projections parallèlesprojections parallèles

Le système de coordonnées de l'oeil est normalement un système gauche (l'axe des Zest à 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èleVproj || = Pproj || SXY RZ RX RY

T-R - [d / (N*N)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 obliqueun cisaillement selon l'axe des Z des coefficients W1 et W2 où W1 et W2 sont lescomposantes 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 ).

Y

X

Z(0, 0, 1)

W 1

W 2

où 90 - = l'angle des projecteurs avec le plan de vue.

Page 28: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

28

Transformations visuelles:Transformations visuelles:perspectivesperspectives

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 vuedevienne 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'axedes Z.

6) Utiliser une transformation d'échelle afin que le volume de vue corresponde au troncde pyramide décrit précédemment.

Page 29: Chapitre VII Transformations visuelles des objets

Chap. VII - Transformations visuelles des objets

29

Transformations visuelles: perspectivesTransformations visuelles: perspectivespoint 6point 6

Y

Z

X

P

Q

C

Q = C = C = 0 z x y

Supposons que le centre de projection est placé sur la partie négative de l'axe des Z etle 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 retombonssur une projection orthographique avecQx = Px et Qy = Py. FIN