Coordonnées homogènes

Coordonnées homogènes

En mathématiques, et plus particulièrement en géométrie projective, les coordonnées homogènes, introduites par August Ferdinand Möbius, rendent les calculs possibles dans l'espace projectif comme les coordonnées cartésiennes le font dans l'espace euclidien.
Les coordonnées homogènes sont largement utilisées en infographie et plus particulièrement pour la représentation de scènes en trois dimensions (3D) car elles sont adaptées à la géométrie projective et elles permettent de caractériser les transformations de l'espace. La notation sous forme matricielle est plus particulièrement employée dans les bibliothèques de programmation graphique 3D telles que OpenGL et Direct3D.

Sommaire

Premières notations et interprétations

Les coordonnées homogènes d'un point de l'espace projectif de dimension n sont écrites habituellement comme (x:y:z: ... :w), un vecteur de longueur n+1, autre que (0:0:0: ... :0). Deux ensembles de coordonnées qui sont proportionnels dénotent le même point d'espace projectif : pour tout scalaire non-nul c pris du corps de base K, (cx:cy:cz: ... :cw) est équivalent à (x,y,z,w). Ainsi, ce système de coordonnées introduit des classes d'équivalences constituées de vecteurs colinéaires. Prenant l'exemple de l'espace projectif de dimension trois, les coordonnées homogènes seront (x:y:z:w).

L'espace projectif construit permet de caractériser le plan à l'infini. Celui-ci est fréquemment[1] défini par l'ensemble des points ou vecteurs ayant pour dernière coordonnée w = 0. Hors de ce plan nous pouvons utiliser (x/w, y/w, z/w) comme un système cartésien ordinaire; donc l'espace affine complémentaire au plan à l'infini est coordonné dans une forme familière, avec une base correspondant à (1:0:0:1), (0:1:0:1), (0:0:1:1).

Si nous essayons de déterminer l'intersection de deux plans définis par les équations x = w et x = 2w alors nous dériverons d'abord w = 0 et ensuite x = 0. Cela nous indiquera que l'intersection est contenue dans le plan à l'infini et est formée de tous les points avec des coordonnées (0:y:z:0). C'est une droite et en fait la droite joignant (0:1:0:0) et (0:0:1:0). La droite est donnée par l'équation :(0:y:z:0) = μ(1 − λ)(0:1:0:0) + μλ(0:0:1:0)µ est un facteur scalaire. Ce dernier peut être ajusté pour normaliser les coordonnés (0:y:z:0), donc éliminant l'un des deux degrés de liberté. Le résultat est un ensemble de points avec un seul degré de liberté comme cela est attendu d'une droite.

Combinaisons linéaires de vecteurs décrits avec les coordonnées homogènes

Prenons une paire de vecteurs A et B dans un espace en trois dimensions projectif, dont les coordonnées homogènes sont

 \mathbf{A} : (X_A:Y_A:Z_A:W_A),
 \mathbf{B} : (X_B:Y_B:Z_B:W_B).

On souhaite trouver leur combinaison linéaire  a \mathbf{A} + b \mathbf{B} a et b sont des coefficients qui peuvent être ajustés à volonté. Il y a trois cas à considérer:

  • les deux vecteurs dépendent d'un 3-espace affine,
  • les deux vecteurs sont infinis,
  • un vecteur est affine et l'autre est infini.

Les coordonnées X, Y, et Z peuvent être considérés comme numérateurs, W comme un dénominateur. Pour ajouter des coordonnées homogènes il est nécessaire que le dénominateur soit commun. Autrement il est nécessaire de redimensioner les coordonnées jusqu'à ce que tous les dénominateurs soient communs.

Les deux points sont affines

Si chacun des deux vecteurs est dans un 3-espace affine, alors  W_A \ne 0 et  W_B \ne 0 . Leur combinaison linéaire est

 a (X_A:Y_A:Z_A:W_A) + b(X_B:Y_B:Z_B:W_B) \
 = (a X_A:a Y_A:a Z_A:W_A) + (b X_B:b Y_B:b Z_B:W_B) \
 = \left( a {X_A \over W_A} : a {Y_A \over W_A} : a {Z_A \over W_A} : 1 \right) + \left( b {X_B \over W_B} : b {Y_B \over W_B} : b {Z_B \over W_B} : 1 \right)
 = \left( a {X_A \over W_A} + b {X_B \over W_B} : a {Y_A \over W_A} + b {Y_B \over W_B} : a {Z_A \over W_A} + b {Z_B \over W_B} : 1 \right) .

Les deux vecteurs sont infinis

Si chacun des deux vecteurs est infini, alors WA = 0 et WB = 0. Leur combinaison linéaire est

a(XA:YA:ZA:WA) + b(XB:YB:ZB:WB) = (aXA:aYA:aZA:0) + (bXB:bYB:bZB:0)
= (aXA + bXB:aYA + bYB:aZA + bZB:0).

Nous obtenons un autre vecteur infini.

Un vecteur est affine et l'autre est infini

Le premier vecteur est dans un 3-espace affine, donc  W_A \ne 0 . Alors

a(XA:YA:ZA:WA) + b(XB:YB:ZB:0)
= a(0:0:0:0) + b(XB:YB:ZB:0),
= (bXB:bYB:bZB:0),

Nous obtenons un vecteur infini colinéaire au vecteur infini de la combinaison linéaire donc équivalent à ce dernier. Ceci signifie qu'un vecteur à l'infini est « dominant », en théorie des ensembles on dit que c'est un élément absorbant.

Notation matricielle

Un point M de l'espace peut être, si W=1, désigné par ses coordonnées homogènes en 3D sous la forme (X:Y:Z:1). Les coordonnées homogènes sont alors utilisées pour appliquer des transformations à un point 3D telles que les changements de repères, les rotations, les translations, les homothéties, les projections ainsi que les compositions de ces différents opérateurs de base. Ces transformations sont alors représentées sous la forme d'une matrice (mathématiques) de taille 4\times4. Nous allons à présent voir comment ces opérateurs de base sont exprimés.

Les translations

La matrice traduisant une translation dans l'espace écrite sous la forme d'un vecteur (tx:ty:tz) est sous la forme :

\left[
\begin{matrix}
1 & 0 & 0 & t_x \\
0 & 1 & 0 & t_y \\
0 & 0 & 1 & t_z \\
0 & 0 & 0 & 1 
\end{matrix}
\right]
En effet, si l'on calcule les coordonnées du point M' de coordonnées (sX':sY':sZ':s) qui est l'image de M par la translation citée, nous appliquons la multiplication matricielle suivante :

\left[
\begin{matrix}
sX' \\ sY' \\ sZ'\\ s 
\end{matrix}
\right]
=
\left[
\begin{matrix}
1 & 0 & 0 & t_x \\
0 & 1 & 0 & t_y \\
0 & 0 & 1 & t_z \\
0 & 0 & 0 & 1 
\end{matrix}
\right]
\left[
\begin{matrix}
X \\ Y \\ Z \\ 1 
\end{matrix}
\right]
Ce qui nous donne bien : 
\begin{cases}
X' = t_x + X \\
Y' = t_y + Y \\
Z' = t_z + Z \\
s = 1 
\end{cases}

Calculer un vecteur

Soient deux points, appelés origine O et extrémité E, de coordonnées homogènes (Xo:Yo:Zo:Wo) et (Xe:Ye:Ze:We), les W n'étant pas nuls puisque les points sont affines, alors le 'vrai vecteur' du plan affine de dimension 3 qui permet de se translater du point O au point E a pour coordonnées : \left(
\begin{matrix}
\frac{X_e}{W_e}-\frac{X_o}{W_o}\\ \frac{Y_e}{W_e}-\frac{Y_o}{W_o}\\ \frac{Z_e}{W_e}-\frac{Z_o}{W_o}
\end{matrix}
\right)
.

Vérification  : L'équation matricielle de la translation appliquée au point O correspondant à ce vecteur s'écrit

\left(
\begin{matrix}
1 & 0 & 0 & \frac{X_e}{W_e}-\frac{X_o}{W_o} \\
0 & 1 & 0 & \frac{Y_e}{W_e}-\frac{Y_o}{W_o} \\
0 & 0 & 1 & \frac{Z_e}{W_e}-\frac{Z_o}{W_o} \\
0 & 0 & 0 & 1 
\end{matrix}
\right)
\left(
\begin{matrix}
X_o \\ Y_o \\ Z_o \\ W_o 
\end{matrix}
\right)
=
\left(
\begin{matrix}
X_o+W_o(\frac{X_e}{W_e}-\frac{X_o}{W_o}) \\ Y_o+W_o(\frac{Y_e}{W_e}-\frac{Y_o}{W_o}) \\ Z_o+W_o(\frac{Z_e}{W_e}-\frac{Z_o}{W_o})\\ W_o 
\end{matrix}
\right)
=\left(
\begin{matrix}
X_e (\frac{W_o}{W_e}) \\ Y_e (\frac{W_o}{W_e}) \\ Z_e (\frac{W_o}{W_e})\\ W_o 
\end{matrix}
\right)
\equiv
\left(
\begin{matrix}
\frac{X_e}{W_e} \\ \frac{Y_e}{W_e} \\ \frac{Z_e}{W_e}\\ 1 
\end{matrix}
\right)  
\equiv
\left(
\begin{matrix}
X_e \\ Y_e\\ Z_e\\ W_e
\end{matrix}
\right)

La translation appliquée nous permet de retrouver le point d'extrémité E du vecteur.

Relation de Chasles

La relation de Chasles est d'une lecture immédiate sous cette forme :

\left(
\begin{matrix}
\frac{X_c}{W_c}-\frac{X_b}{W_b}\\ \frac{Y_c}{W_c}-\frac{Y_b}{W_b}\\ \frac{Z_c}{W_c}-\frac{Z_b}{W_b}
\end{matrix}
\right) 
  +
 \left(
\begin{matrix}
\frac{X_b}{W_b}-\frac{X_a}{W_a}\\ \frac{Y_b}{W_b}-\frac{Y_a}{W_a}\\ \frac{Z_b}{W_b}-\frac{Z_a}{W_a}
\end{matrix}
\right)
 =
\left(
\begin{matrix}
\frac{X_c}{W_c}-\frac{X_a}{W_a}\\ \frac{Y_c}{W_c}-\frac{Y_a}{W_a}\\ \frac{Z_c}{W_c}-\frac{Z_a}{W_a}
\end{matrix}
\right).

De même, avec cette notation, si l'on considère quatre points A, B, C et D, la commutativité de l'addition des vecteurs et le théorème du croisement des équipollences sont évidents.

Les rotations

Une représentation dans l'espace peut être aussi notée sous forme matricielle. L'opérateur sera de la forme : 
\left[
\begin{matrix}
R_{3\times3} & 0_{3\times1} \\
0_{1\times3} & 1 
\end{matrix}
\right]
R_{3\times3} désigne ici une matrice de rotation telle qu'elle est habituellement définie dans l'espace. Si l'on prend un repère de l'espace (O, \vec{i}, \vec{j}, \vec{k}), nous obtenons les rotations suivantes autour des axes principaux :
Rotation d'angle α autour de \vec{i} : 
\left[
\begin{matrix}
1 & 0 & 0 & 0 \\
0 & \cos( \alpha ) & -\sin (\alpha) & 0 \\
0 & \sin( \alpha ) & \cos ( \alpha) & 0 \\
0 & 0 & 0 & 1
\end{matrix}
\right]
Rotation d'angle β autour de \vec{j} : 
\left[
\begin{matrix}
\cos(\beta) & 0 & \sin(\beta) & 0 \\
0 & 1 & 0  & 0 \\
-\sin( \beta) & 0 &\cos ( \beta) & 0 \\
0 & 0 & 0 & 1
\end{matrix}
\right]

Rotation d'angle γ autour de \vec{k} : 
\left[
\begin{matrix}
\cos(\gamma) & - \sin(\gamma) & 0 & 0 \\
\sin(\gamma) &  \cos(\gamma) &  0  & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{matrix}
\right]

Les homothéties

Une homothétie sera représentée par la matrice : 
\left[
\begin{matrix}
h_x & 0 & 0 & 0\\
0 & h_y & 0 & 0\\
0 & 0 & h_z & 0\\
0 & 0 & 0 & 1
\end{matrix}
\right]
Si les facteurs d'échelle hx,hy et hz sont égaux alors il s'agit d'une homothétie au sens strict du terme. Cette formalisation permet d'appliquer différents facteurs d'échelle suivant différentes directions de l'espace (dilatation anisotropique).

Les projections

Il existe diverses formulations des projections, suivant le type de projection considéré. Nous ne verrons ici que les formulations les plus courantes rencontrées en infographie 3D.

La projection perspective

Exemple de projection perspective

Nous prendrons ici le cas d'une projection sur un plan (\vec{i},\vec{j}) situé à une distance f de l'origine suivant la direction \vec{k}. Les points projetés sont ici sur la droite passant par l'origine et le point à projeter. La matrice est alors exprimée sous la forme suivante :

\left[
\begin{matrix}
1 & 0 & 0 & 0\\
0 & 1 & 0 & 0\\
0 & 0 & 1 & 0\\
0 & 0 & 1/f & 0  
\end{matrix}
\right]
En effet, si l'on calcule les coordonnées du point projeté M' de coordonnées (sX':sY':sZ':s1) qui est l'image de M par la projection citée, nous obtenons :

\begin{cases}
sX' = X \\
sY' = Y \\
sZ' = Z \\
s = Z/f 
\end{cases}
ce qui donne, après normalisation des coordonnées : 
\begin{cases}
X' = fX/Z \\
Y' = fY/Z \\
Z' = f \\
\end{cases}
Ceci est conforme puisque la troisième coordonnée du point devrait être f, ce qui est le cas.

Comme la troisième coordonnée est toujours connue (égale à f), il est possible de déterminer directement les coordonnées 2D sur le plan lui-même. Nous avons alors le passage de coordonnées homogènes 3D à des coordonnées homogènes 2D. Si l'on prend M' de coordonnées sur le plan (sx',sy',s) image de M de coordonnées (X,Y,Z,1) alors la relation liant les deux points sera écrite sous la forme :

\left[
\begin{matrix}
sx' \\ sy'\\ s \\
\end{matrix}
\right]
=
\left[
\begin{matrix}
f & 0 & 0 & 0 \\
0 & f & 0 & 0 \\
0 & 0 & 1 & 0 \\
\end{matrix}
\right]
\left[
\begin{matrix}
X \\ Y\\ Z\\ 1\\
\end{matrix}
\right]
Ce qui est équivalent au système 
\begin{cases}
sx' = fX \\
sy' = fY \\
s = Z \\
\end{cases}
soit, après normalisation : 
\begin{cases}
x' = fX/Z \\
y' = fY/Z \\
s = Z \\
\end{cases}
Nous retrouvons alors les mêmes valeurs que précédemment ( x' = X' et y' = Y'). Nous avons donc une formulation qui donne directement les coordonnées du point projeté sur le plan considéré.

Projection orthographique

Exemple de projection orthographique

Dans ce cas, les points sont projetés suivant une direction déterminée sur un plan situé à une distance f de l'origine suivant la direction \vec{k}. La projection orthographique est parfois interprétée comme étant une projection perspective dans laquelle le point de perspective est rejeté à l'infini. La matrice de transformation associée est alors la suivante :

\left[
\begin{matrix}
1 & 0 & 0 & 0\\
0 & 1 & 0 & 0\\
0 & 0 & 0 & f\\
0 & 0 & 0 & 1  
\end{matrix}
\right]

Application au changement de repère isométrique

Les coordonnées homogènes prennent tout leur intérêt dans ce cas précis. En effet, cette notation permet de traduire les changements de repère. Si le nouveau repère est translaté par rapport à l'ancien d'un vecteur t_{3\times1} = (t_x:t_y:t_z) et voit son orientation dans le même temps changée, la rotation étant décrite par la matrice R_{3\times3}, alors les coordonnées du point M notées (sX',sY',sZ',s) dans le nouveau repère seront liées aux coordonnées (X,Y,Z,1) exprimées dans l'ancien repère par la relation :


\left[
\begin{matrix}
sX' \\ sY' \\ sZ'\\ s 
\end{matrix}
\right]
=
\left[
\begin{matrix}
 &  &  &  \\
 & R_{3\times3} &  & t_{3\times1} \\
 &  &  &  \\
0 & 0 & 0 & 1 
\end{matrix}
\right]
\left[
\begin{matrix}
X \\ Y \\ Z \\ 1 
\end{matrix}
\right]


La transformation inverse sera donnée comme suit, où R_{3\times3}^T représente la matrice transposée de R_{3\times3} :


\left[
\begin{matrix}
sX \\ sY \\ sZ\\ s 
\end{matrix}
\right]
=
\left[
\begin{matrix}
 &  &  &  \\
 & R_{3\times3}^T &  & -R_{3\times3}^Tt_{3\times1} \\
 &  &  &  \\
0 & 0 & 0 & 1 
\end{matrix}
\right]
\left[
\begin{matrix}
X' \\ Y' \\ Z' \\ 1 
\end{matrix}
\right]

Notes

  1. On peut décider d'autres règles que w=0, et même décider que la notion d'infini ne nous concerne pas dans un espace projectif, et qu'on ne s'intéresse pas à l'espace affine sous-jacent, cela n'empêche pas de faire de la DAO[réf. nécessaire]

Références

Jean-Claude Sidler, Géométrie projective, Dunod, 2000 


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Coordonnées homogènes de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • Coordonnees homogenes — Coordonnées homogènes En mathématique, les coordonnées homogènes, introduites par August Ferdinand Möbius, rendent les calculs possibles dans l espace projectif comme les coordonnées cartésiennes le font dans l espace euclidien. Les coordonnées… …   Wikipédia en Français

  • Coordonnées Homogènes — En mathématique, les coordonnées homogènes, introduites par August Ferdinand Möbius, rendent les calculs possibles dans l espace projectif comme les coordonnées cartésiennes le font dans l espace euclidien. Les coordonnées homogènes sont… …   Wikipédia en Français

  • Coordonnées homogènes de m — ● Coordonnées homogènes de m système de coordonnées de la forme (λx0, λx1, …, λxn), où λ∊K, si m est l image de x (x0, …, xn) par la projection canonique définie sur l espace vectoriel considéré, de dimension n + 1 sur le corps K …   Encyclopédie Universelle

  • coordonnées homogènes — vienalytės koordinatės statusas T sritis fizika atitikmenys: angl. homogeneous coordinates vok. homogene Koordinaten, f rus. однородные координаты, f pranc. coordonnées homogènes, f …   Fizikos terminų žodynas

  • coordonnées — [ kɔɔrdɔne ] n. f. pl. • 1754; de co et ordonnée 1 ♦ Math. Coordonnées d un point M :scalaires qui permettent de repérer ce point sur une courbe, une surface, dans un espace. Coordonnées dans le plan euclidien (dans R2), dans l espace euclidien… …   Encyclopédie Universelle

  • Coordonnées d'un point M — ● Coordonnées d un point M n uplet de réels (ou [n + 1] uplet dans les cas des coordonnées barycentriques et des coordonnées homogènes) qui servent à déterminer la position du point M dans l espace affine En de dimension n …   Encyclopédie Universelle

  • Coordonnées plückeriennes — Les Coordonnées plückeriennes sont un cas particuliers des coordonnées grassmanniennes. Elles servent à repérer les plans d un espace de dimension 4. Réalisées par Julius Plücker, elles ont été généralisées entre 1832 et 1839 par Hermann… …   Wikipédia en Français

  • Coordonnées grassmanniennes — Les coordonnées grassmanniennes sont une généralisation des coordonnées plückeriennes, qui permettent de paramétrer les sous espaces de dimension k de l espace vectoriel par un élément de l espace projectif de l espace vectoriel des produits… …   Wikipédia en Français

  • Coordonnées polaires — En coordonnées polaires, la position du point M est définie par la distance r et l angle θ …   Wikipédia en Français

  • Axiomes De Plans Projectifs/homogènes — Article principal : Axiomes de plans projectifs. « Faire des mathématiques, c’est donner le même nom à des choses différentes. » Henri Poincaré Le plan homogène est une création abstraite de géométrie analytique destinée à… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”