Projection en perspective centrale. Matrices de perspective dans l'API graphique ou le diable est dans les détails

Dans les projections centrales, les bords de l'objet affiché, parallèles au plan de l'image, sont représentés sans distorsion de forme, mais avec distorsion de taille.

Figure 24 Projections centrales d'un cube : a) un point, b) deux points, c) trois points.

Les projections centrales de tout ensemble de lignes parallèles qui ne sont pas parallèles au plan de l'image convergeront vers Point de fuite. Le point de fuite des lignes parallèles à l'un des axes de coordonnées est appelé point de fuite principal. Parce que Il y a trois axes de coordonnées, il ne peut donc y avoir plus de trois points de fuite principaux.

Selon l'emplacement des axes de coordonnées et du plan de l'image, on distingue des projections centrales à un, deux et trois points.

Point unique une projection est obtenue lorsque le plan de l'image coïncide avec (ou est parallèle à) l'un des plans de coordonnées. Autrement dit, un seul axe de coordonnées n’est pas parallèle au plan de l’image et possède un point de fuite principal.

Point à point une projection est obtenue lorsqu'un seul des axes de coordonnées est parallèle au plan de l'image. Les deux autres axes de coordonnées ne sont pas parallèles au plan de l’image et possèdent deux points de fuite principaux. Lors de la représentation d'objets situés à la surface de la Terre, on utilise le plus souvent la projection à deux points, dans laquelle le plan de l'image est parallèle. axe vertical coordonnées Les deux principaux points de fuite sont situés sur le même ligne horizontale– les lignes d'horizon (Fig. 6.5). À trois points les trois projections axes de coordonnées ne sont pas parallèles au plan de l’image et il existe donc trois points de fuite principaux.

Considérons plus en détail le cas de projection monopoint d'un point R.à l'avion z= 0 avec centre de projection AVEC, couché sur l'axe z(Fig. 25).

Point UN projeté sur l'écran comme UN. La distance entre l'observateur et le plan de projection est k. Il faut déterminer les coordonnées du point UNsur l'écran. Notons-les X e et oui e. De la similitude des triangles UN oui UN z N Et oui euh SUR nous trouvons que

(x.9)

de même pour x :

.

(x.10)

Riz. 25. Dérivation de formules de projection centrale.

Riz. 26. Une autre façon de calculer les coordonnées des points dans la projection en perspective centrale. N= (0,0,-Rappelons que k est la distance et que l'observateur est au point). Si le point d'observation est placé à l'origine des coordonnées et le plan de projection à une distance un, comme le montre la figure 26, alors les formules pour X euh et y prendra la forme :

,
(x.11)

Les formules (x.10) sont plus pratiques lorsqu'il est nécessaire de simplement rapprocher ou éloigner l'observateur du plan de projection. Les formules (x.11) nécessitent moins de temps de calcul en raison de l'absence d'opération d'addition.

Considérons un point dans l'espace tridimensionnel ( un, b, c). Si l'on imagine ce point comme une représentation homogène d'un point dans un espace bidimensionnel, alors ses coordonnées seront ( un/ c, b/ c). En comparant ces coordonnées avec le deuxième type de formules dérivées pour la projection centrale en perspective, il est facile de remarquer que la représentation bidimensionnelle d'un point avec des coordonnées ( un, b, c) ressemble à sa projection sur un plan z= 1, comme le montre la fig. 27.

Riz. 27. Projection d'un point ( un, b, c) au plan z = 1.

De même, en considérant l'utilisation de coordonnées homogènes pour les vecteurs dans un espace tridimensionnel, on peut représenter l'espace tridimensionnel comme une projection espace à quatre dimensions vers l'hyperplan w= 1 si ( X, oui, z)(wx, Wyoming, wz, w) = (X, oui, z, 1). .

En coordonnées homogènes, la transformation de la perspective centrale peut être déterminée par une opération matricielle. Cette matrice s'écrit :

Montrons que cette matrice détermine la transformation d'un point objet, spécifié en coordonnées homogènes, en un point de projection perspective (également en coordonnées homogènes). Laisser p= (X, oui, z) – pointez sur espace tridimensionnel. Sa présentation homogène v= (wx, Wyoming, wz, w). Multiplier v par P.:

cela répète exactement les formules (x.10) dérivées pour la perspective centrale.

En raison des particularités de la vision humaine, il est préférable d'appliquer une projection en perspective aux objets éloignés de l'observateur, orthographique ou axonométrique aux objets assez proches (à bout de bras), et une projection en perspective inverse aux objets encore plus proches.

Pour créer images stéréo deux projections centrales sont utilisées, dont les centres coïncident avec l'emplacement des yeux d'un observateur hypothétique, c'est-à-dire ils sont situés à une certaine distance les uns des autres sur une ligne droite parallèle au plan de l'image. Une fois la projection terminée, deux images de l'objet sont obtenues - pour les yeux gauche et droit. Le périphérique de sortie doit fournir ces images à chaque œil de l'utilisateur séparément. A cet effet, un système de filtres colorés ou polarisants peut être utilisé. Des périphériques de sortie plus complexes (tels que des casques) présentent chacune des images sur des écrans séparés pour chaque œil.

Toutes les projections discutées ci-dessus appartiennent à la classe des projections géométriques, parce que la projection se fait sur un plan (plutôt que sur une surface courbe) et en utilisant un ensemble de lignes droites (plutôt que des courbes). Cette classe de projections est le plus souvent utilisée dans infographie. En revanche, la cartographie utilise souvent des projections non planaires ou non géométriques.

Les types de projection en perspective proposés dans la section précédente étaient peu informatifs, puisque dans tous les cas, une seule face du cube était visible depuis chaque centre de projection. Pour qu’un observateur puisse percevoir la forme tridimensionnelle d’un objet à partir d’une seule vue, plusieurs faces de cet objet doivent être visibles. Pour des objets simples comme un cube, au moins trois faces doivent être visibles. Une vue avec plusieurs faces peut être obtenue à partir d'une projection en perspective à un seul point avec un centre fixe et un plan de projection, perpendiculaire à la direction coup d'œil, si l'objet a été précédemment transféré et/ou pivoté. Une vue réaliste est alors obtenue, sauf si le centre de la projection est trop proche du sujet.

Riz. 3-31 Perspective à trois points, (a) Cube original ; (b) projection en perspectiveà l'avion; (c) cube déformé.

Pour commencer, considérons un simple transfert d'un objet suivi d'une projection en un seul point sur un plan et avec le centre de la projection au point . La transformation recherchée s'écrit sous la forme

, (3-59)

Riz. 3-32 Projection en perspective à un seul point avec translation dans les directions.

L'équation (3-59) ainsi que la Fig. 3-32 montre cette translation dans des directions et ouvre des faces supplémentaires de l'objet. Une translation dans ces deux directions est nécessaire pour exposer les trois faces d’un simple objet en forme de cube. En figue. La figure 3-32 montre les résultats du transfert d'un cube centré par rapport à l'origine le long d'une ligne droite et d'une projection en un seul point sur un plan. A noter que pour la face avant le taille réelle et la forme.

L'équation (3-59) montre également que le transfert le long de l'axe, c'est-à-dire vers ou loin du centre de la projection, entraîne un changement d'échelle évident (dû à l'élément ). Cet effet correspond à la réalité physique, puisque les objets situés plus loin de l'observateur paraissent plus petits. Notez que lorsque le centre de projection s'approche de l'infini, le phénomène de mise à l'échelle disparaît. Cet effet est représenté schématiquement sur la Fig. 3-33. Comme le montre cette figure, l'objet peut se trouver de chaque côté du centre de la projection. Si l'objet et le plan de projection sont du même côté du centre, alors, comme le montre la Fig. 3-33, une image directe est obtenue. Si l'objet et le plan de projection se trouvent le long différents côtésà partir du centre, une image inversée est obtenue.

Riz. 3-33 Effet d'échelle lors du déplacement le long d'un axe pour une projection en perspective à un seul point.

En figue. La figure 3-34 montre les résultats du déplacement d'un objet dans les trois directions. Ici, le cube se déplace le long d'une ligne tridimensionnelle de à. Une augmentation évidente de la taille est perceptible et, dans tous les types, la préservation est perceptible vraie forme, mais pas la taille de la face avant.

Ces idées sont expliquées plus en détail dans l'exemple.

Exemple 3-22 Projection en perspective à un seul point avec translation

Considérons un cube unitaire centré par rapport à l'origine avec les vecteurs de coordonnées suivants

.

Déplaçons le cube de 5 unités dans les directions et construisons une projection en perspective sur un plan dont le centre de la projection est à .

A partir de l'équation (3-59), nous obtenons la matrice de transformation générale

.

Riz. 3-34 Projection en perspective à un seul point combinée avec des traductions dans les directions , ,.

Coordonnées converties

.

L'objet en haut à droite de la Fig. La figure 3-32 illustre ce résultat.

Si l'objet d'origine a été déplacé de 5 unités dans les directions , , et qu'une projection en perspective à un point sur le plan a été construite avec le centre de projection en , alors il résulte de (3-59) que la matrice de transformation globale s'écrit comme

.

Notez l'échelle globale donnée par la valeur 0,75 dans l'élément inférieur droit de la matrice de transformation.

Les coordonnées converties sont

.

Le résultat est affiché sous la forme de l'objet en haut à droite sur la figure. 3-34.

Plusieurs bords seront également visibles si vous utilisez la rotation des objets. Une rotation révélera au moins deux faces d'un objet, tandis que deux ou plusieurs rotations autour d'axes différents révéleront au moins trois faces.

Matrice de transformation pour la rotation autour d'un axe d'un angle et la projection ultérieure en perspective d'un point unique sur un plan avec le centre de projection à :

. (3-60)

De même, la matrice de transformation pour la rotation autour d'un axe d'un angle et la projection ultérieure en perspective d'un point unique sur un plan avec le centre de projection en un point a la forme :

. (3-61)

Dans les deux équations (3-60) et (3-61), les deux éléments responsables de la transformation de perspective (perspective) dans la quatrième colonne de la matrice de transformation ne sont pas égaux à zéro. Alors on se retourne axe principal, perpendiculairement à cela L'axe sur lequel se trouve le centre de la projection équivaut à une transformation de perspective à deux points. Lors d'une rotation autour de l'axe sur lequel se trouve le centre de la projection, cet effet ne se produit pas. Notez que pour une rotation, l'élément de perspective pour l'axe de rotation reste inchangé, par exemple, dans les équations (3-60) et (3-61), les éléments et sont respectivement égaux à zéro.

DANS cas général la rotation autour de l'axe principal ne révèle pas le nombre de faces requis pour une représentation tridimensionnelle adéquate - au moins trois. Pour ce faire, il faut le combiner avec un mouvement le long de l'axe. Exemple suivant illustre cela.

Exemple 3-23 Projection en perspective à deux points utilisant la rotation autour d'un axe principal

Considérons la projection sur un plan dont le centre est la pointe du cube de la Fig. 3-35a, tourné autour de l'axe d'un angle pour que la face gauche s'ouvre, et déplacé par unités le long de manière à ce que la face supérieure s'ouvre.

En utilisant l'équation (3-38) avec , l'équation (3-47) avec et l'équation (3-14) avec , on obtient

.

Les coordonnées converties sont

.

Le résultat est présenté sur la Fig. 3-35b. La distorsion se produit parce que le centre de la projection est trop proche du cube.

Notons la convergence des axes parallèles et des droites vers des points de fuite situés sur l'axe.

Ces points de fuite sont définis dans l'exemple 3-25 de la secte. 3-17.

.

Riz. 3-35 Projection en perspective à deux points avec rotation autour d'un axe.

De même, une transformation de perspective en trois points est effectuée en tournant autour de deux ou plusieurs axes principaux, puis une transformation de perspective en un point. Par exemple, la rotation autour de l'axe, puis la rotation autour de l'axe et la projection en perspective sur un plan avec le centre de projection au point ont la matrice de transformation suivante

A partir de ces résultats, il est clair qu'une transformation de perspective à un, deux ou trois points peut être construite à l'aide de rotations et de translation autour et le long des axes principaux, suivie d'une transformation de perspective à un seul point avec le centre de projection situé sur un des axes principaux. Ces résultats sont également valables pour la rotation autour d'un axe arbitraire dans l'espace. Par conséquent, lorsqu’il est utilisé dans système graphique paradigmes avec un centre de projection fixe et un objet manipulé, il faut assurer uniquement la construction d'une projection en perspective monopoint sur un plan avec le centre de projection sur l'axe.

Dans les projections centrales, les bords de l'objet affiché, parallèles au plan de l'image, sont représentés sans distorsion de forme, mais avec distorsion de taille.

Figure 24 Projections centrales d'un cube : a) un point, b) deux points, c) trois points.

Les projections centrales de tout ensemble de lignes parallèles qui ne sont pas parallèles au plan de l'image convergeront vers Point de fuite. Le point de fuite des lignes parallèles à l'un des axes de coordonnées est appelé point de fuite principal. Parce que Il y a trois axes de coordonnées, il ne peut donc y avoir plus de trois points de fuite principaux.

Selon l'emplacement des axes de coordonnées et du plan de l'image, on distingue des projections centrales à un, deux et trois points.

Point unique La projection est obtenue lorsque le plan de l'image coïncide avec l'un des plans de coordonnées(ou parallèlement à celui-ci). Autrement dit, un seul axe de coordonnées n’est pas parallèle au plan de l’image et possède un point de fuite principal.

Point à point une projection est obtenue lorsqu'un seul des axes de coordonnées est parallèle au plan de l'image. Les deux autres axes de coordonnées ne sont pas parallèles au plan de l’image et possèdent deux points de fuite principaux. Lors de la représentation d'objets situés à la surface de la Terre, on utilise le plus souvent une projection à deux points, dans laquelle l'axe des coordonnées verticales est parallèle au plan de l'image. Les deux principaux points de fuite sont situés sur la même ligne horizontale - la ligne d'horizon (Fig. 6.5). À trois points projection, les trois axes de coordonnées ne sont pas parallèles au plan de l’image et, par conséquent, il existe trois points de fuite principaux.

Considérons plus en détail le cas de projection monopoint d'un point R.à l'avion z= 0 avec centre de projection AVEC, couché sur l'axe z(Fig. 25).

Point UN projeté sur l'écran comme UN¢. La distance entre l'observateur et le plan de projection est k. Il faut déterminer les coordonnées du point UN¢ sur l'écran. Notons-les X e et oui e. De la similitude des triangles A y A z N Et oui ON nous trouvons que

(x.9)

de même pour x :

Riz. 25. Dérivation de formules de projection centrale.

Riz. 26. Une autre façon de calculer les coordonnées des points dans la projection en perspective centrale.

Rappelons que k est la distance et que l'observateur est au point N = (0,0,-Rappelons que k est la distance et que l'observateur est au point). Si le point d'observation est placé à l'origine des coordonnées et le plan de projection à une distance un, comme le montre la figure 26, alors les formules pour xe et y prendra la forme :

Les formules (x.10) sont plus pratiques lorsqu'il est nécessaire de simplement rapprocher ou éloigner l'observateur du plan de projection. Les formules (x.11) nécessitent moins de temps de calcul en raison de l'absence d'opération d'addition.

Considérons un point dans l'espace tridimensionnel ( abc). Si l'on imagine ce point comme une représentation homogène d'un point dans un espace bidimensionnel, alors ses coordonnées seront ( a/c,b/c). En comparant ces coordonnées avec le deuxième type de formules dérivées pour la projection centrale en perspective, il est facile de remarquer que la représentation bidimensionnelle d'un point avec des coordonnées ( abc) ressemble à sa projection sur un plan z= 1, comme le montre la fig. 27.



Riz. 27. Projection d'un point ( abc) au plan z = 1.

De même, en considérant l'utilisation de coordonnées homogènes pour les vecteurs de l'espace tridimensionnel, on peut représenter l'espace tridimensionnel comme une projection d'un espace quadridimensionnel sur un hyperplan. w= 1 si ( x, y, z)®( wx,wy,wz,w) = (x, y, z, 1). .

En coordonnées homogènes, la transformation de perspective centrale peut être définie opération matricielle. Cette matrice s'écrit :

Montrons que cette matrice détermine la transformation d'un point objet spécifié en coordonnées homogènes en un point de projection perspective (également en coordonnées homogènes). Laisser p = (x, y, z) – un point dans l’espace tridimensionnel. Sa présentation homogène v = (wx,wy,wz,w). Multiplier v par P.:

cela répète exactement les formules (x.10) dérivées pour la perspective centrale.

En raison des particularités de la vision humaine, il est préférable d'appliquer une projection en perspective aux objets éloignés de l'observateur, orthographique ou axonométrique aux objets assez proches (à bout de bras), et une projection en perspective inverse aux objets encore plus proches.

Pour créer images stéréo deux projections centrales sont utilisées, dont les centres coïncident avec l'emplacement des yeux d'un observateur hypothétique, c'est-à-dire ils sont situés à une certaine distance les uns des autres sur une ligne droite parallèle au plan de l'image. Une fois la projection terminée, deux images de l'objet sont obtenues - pour les yeux gauche et droit. Le périphérique de sortie doit fournir ces images à chaque œil de l'utilisateur séparément. A cet effet, un système de filtres colorés ou polarisants peut être utilisé. Des périphériques de sortie plus complexes (tels que des casques) présentent chacune des images sur des écrans séparés pour chaque œil.

Toutes les projections évoquées ci-dessus appartiennent à la classe des projections géométriques plates, car la projection se fait sur un plan (plutôt que sur une surface courbe) et en utilisant un ensemble de lignes droites (plutôt que des courbes). Cette classe de projections est le plus souvent utilisée en infographie. En revanche, la cartographie utilise souvent des projections non planaires ou non géométriques.

Dans la dernière leçon, nous avons parlé des projections les plus importantes utilisées en géométrie affine. Passons maintenant à la géométrie de perspective et à plusieurs nouveaux types de projection.

Dans les photographies, les peintures et les écrans, les images nous semblent naturelles et correctes. Ces images sont appelées perspectives. Leurs propriétés sont telles que les objets plus éloignés sont représentés à une échelle plus petite, les lignes parallèles étant généralement non parallèles. De ce fait, la géométrie de l'image s'avère assez complexe, et il est difficile de déterminer la taille de certaines parties de l'objet à partir de l'image finale.

La projection en perspective conventionnelle est projection centrale sur le plan par des rayons directs passant par le point centre de projection. L'un des rayons projetés est perpendiculaire au plan de projection et est appelé principal. Le point d'intersection de ce rayon et du plan de projection est le point principal de l'image.

Il existe trois systèmes de coordonnées. En règle générale, un programmeur travaille et stocke des données sur des objets géométriques en coordonnées mondiales. Pour augmenter le réalisme, lors de la préparation de l'affichage d'une image à l'écran, les données sur les objets à partir des coordonnées mondiales sont converties en coordonnées d'affichage. Et seulement au moment où l'image est affichée directement sur l'écran d'affichage, ils se déplacent vers les coordonnées d'écran, qui sont les numéros de pixels de l'écran.

Les deux premiers systèmes peuvent être utilisés dans des systèmes de coordonnées multidimensionnels, mais le second uniquement dans des systèmes bidimensionnels. Les opérations sont irréversibles, c'est-à-dire qu'il est impossible de restituer une image tridimensionnelle à partir d'une image de projection bidimensionnelle.

Matrice de transformation de perspective générale

Dans cette matrice les éléments un, d, e sont responsables de la mise à l’échelle, m, n, L pour le déplacement, p, q, r pour la projection, s pour une mise à l'échelle complète, X pour la rotation.



Avez-vous aimé l'article? Partage avec tes amis!