Le processus |
||
INTRODUCTION PROJECTIONS PLANAIRES OPÉRATIONS
POUR
UNE VISUALISATION IMPLANTATION DANS LES LIBRAIRES GRAPHIQUES
|
Introduction
Pour afficher un objet sur un écran graphique, on effectue un changement de repère de manière à transformer en "coordonnées écran" les coordonnées de lobjet connues dans le repère global. On passe ainsi de coordonnées dans R3 à des coordonnées dans R3 qui seront utilisées en tant que telles si l'élimination des parties cachées est employée ou transformées en coordonnées dans R2 sinon. On effectue une "projection" car on réalise une transformation ayant pour but de projeter la silhouette d'un objet sur un écran virtuel placé entre l'objet et l'observateur (appelé aussi centre de projection). Différents types de projections:
Hypothèses préliminaires Le plan xz du repère global est le plan de lhorizontale (x à droite, z derrière). Laxe y est la verticale (orientée vers le haut). Problème: visualiser une scène selon un point de vue particulier tel que par exmple défini par la position et l'orientation de l'observateur. Deux changements de repère successifs:
L'écran de projection est plan. On définit deux modes de projection:
Les projections parallèles sont caractérisées par un centre de projection situé à l'infini ce qui a pour conséquence:
Projection parallèle
orthographique Dans le cas des projections en perspective le centre de projection n'est pas situé à l'infini. On n'a donc pas d'axe de projection unique. Projection en perspective Non exhaustivement:
Projection orthographique en haut, projection en perspective sur les trois autres images avec rapprochement de l'observateur Opérations à réaliser pour une visualisation Les opérations à mettre en uvre pour visualiser un objet sont:
Une matrice de transformation en coordonnées homogènes nous permet de transformer des coordonnées globales en coordonnées dans le repère de l'observateur. Les informations connues sur l'observateur (localisation et orientation) nous permettent de calculer cette matrice. Soit la position Po =
Un vecteur initialement vertical (x = 0, z = 0) sera vertical après transformation et projection sur l'écran (x = 0). On connaît Po et trois rotations qy, qx, qz intervenant dans cet ordre dans le repère global pour fixer l'orientation de l'observateur. Le calcul de la matrice de transformation est trivial, il s'agit du produit matriciel des 4 matrices T, Ry, Rx et Rz. T est la translation de M = Rz.Rx.Ry.T = On connaît Po, Pv et on désire
conserver les verticales. Po est ramené à l'origine par une translation T = Problème: trouver les rotations qu'il faut effectuer pour amener le point Pv sur le demi axe z négatif tout en conservant "vertical" tout vecteur vertical. On effectue tout d'abord une rotation Ry par rapport à l'axe Oy, puis ensuite une rotation Rx par rapport à Ox. ![]()
= Verticalités? Appliquée au vecteur ![]() ![]() On établit M = avec a = Il est à noter qu'au moyen de cette formulation, on définit la position de l'observateur et sa direction de visée par son vecteur. Représentation en projection parallèleOn trouve les coordonnées d'un sommet
Pour réaliser l'affichage on utilise les coordonnées x et y obtenues après mise à l'échelle (z fournit la profondeur écran si elle est nécessaire). Représentation en perspectiveSoit un plan de projection Pproj orthogonal à l'axe de visé Oz. Chaque point Pp = (xp,yp) projection d'un sommet P sur Pproj sera l'intersection entre (P,O) et le plan Pproj. Vue selon l'axe des y Vue selon un point de vue aléatoire Soit d la distance entre O et Pproj,
-> xp = On considère w = w est calculé avec la matrice Mper
= Si on désire connaître la position
de projection en perspective d'un point P = pour obtenir le point de
coordonnées Implantation généralement constatée au sein des librairies graphiques 3D Deux niveaux de modélisation pour la construction d'une visualisation:
Utilisation explicite ou implicite de matrices de transformation pour chacune de ces phases. Possibilité de changer chacune de ces phases indépendamment de l'autre. |