Vous êtes sur la page 1sur 10

Matrices et transformations

Notes rédigées par Laurent Z IMMERMANN

Résumé Les transformations dans le plan sont exploitées pour illustrer et interpréter les
propriétés du calcul matriciel. Dans cette perspective nous discutons les notions de matrice
inverse, de racine carrée d’une matrice, de produit matriciel ainsi que de déterminant.

Vidéo https://clipedia.be/videos/matrices-et-transformations

Introduction

Ainsi que nous allons le voir, certaines transformations géométriques simples d’images (sy-
métrie, agrandissement, rétrécissement, rotation, cisaillement, perspective, etc. qui font partie
des applications linéaires bijectives) ainsi que leurs combinaisons peuvent être réalisées ma-
thématiquement par des opérations de calcul matriciel. De telles transformations consistent
uniquement en des changements des positions des pixels des images.
Ainsi, des images peuvent servir à visualiser l’effet
de transformation d’une matrice et à se faire une idée
de ses propriétés. L’illustration ci-contre montre une
image originale et l’image transformée sous l’effet de
la matrice spécifiée. Les images peuvent aussi servir
à visualiser l’effet de l’inverse d’une matrice ou du
produit de matrices.

Une transformation simple : la symétrie axiale

Répétons que toutes les transformations que nous envisagerons consisteront en des transfor-
mations géométriques. Celles-ci consistent à déplacer (à envoyer) les pixels depuis leurs co-
ordonnées ( x, y) dans l’image originale vers de nouvelles coordonnées ( x 0 , y0 ) dans l’image
transformée. Ainsi la transformation sera entièrement connue si nous connaissons le lien entre
les coordonnées ( x, y) et les coordonnées ( x 0 , y0 ).
Commençons par nous intéresser à une
transformation simple A qui envoie un
pixel de coordonnées ( x, y) dans l’image
originale vers les coordonnées (− x, y)
dans l’image transformée. Nous pouvons
écrire cette transformation à la fois sous
2

forme de deux équations ordinaires et aussi sous forme matricielle :


 0  0    
x = −x x −1 0 x
0 ou bien 0 =
y = y y 0 1 y
Par cette transformation, les pixels qui se trouvent d’un côté de l’axe y sont échangés avec ceux
qui se trouvent symétriquement de l’autre côté. Il s’agit d’une symétrie axiale d’axe y.
La règle de cette transformation A est entièrement spécifiée par la matrice de transformation
 
−1 0
A=
0 1

Attention ! Nous présentons différentes matrices 2 × 2 comme des ma-


trices qui « transforment » une image. Mais ne nous méprenons pas : elles
ne s’appliquent pas à des matrices images qui sont des tableaux de grandes
dimensions (par exemple 1920 × 1080 pour une image « full HD »), conte-
nant les valeurs d’intensité des pixels. En réalité elles s’appliquent aux coor-
données ( x, y) des pixels. Il n’est dès lors question d’image transformée que
dans le sens où elle est construite en déplaçant les pixels d’une image origi-
nale selon une règle déterminée par une matrice. Nous ne rencontrerons par conséquent que
des multiplications entre matrices 2 × 2 et matrices 2 × 1.
Grâce au formalisme matriciel, la transformation peut s’écrire de manière très concise
X’ = AX
et, au prix d’un abus de langage, nous dirons que la nouvelle image X’ est la transformation
par la matrice A de l’image originale X. Un abus de langage, car en réalité les vecteurs colonnes
X et X’ ne sont pas des images, mais les vecteurs positions (les coordonnées) d’un pixel dans
chacune des images, mais un abus de langage pas totalement dénué de sens étant donné que
la règle de transformation est la même pour tous les pixels.
De fait, n’importe quelle matrice carrée 2 × 2 peut être considérée comme une transforma-
tion d’image (ou encore comme une transformation du plan). Plus généralement, une matrice
carrée 3 × 3 peut être considérée comme une transformation d’objet à trois dimensions (trans-
formation de volume).

Inverse d’une matrice de transformation

Nous nous attendons à ce que l’inverse d’une matrice de transformation soit la matrice de la
transformation inverse. Est-ce le cas ? Pour répondre à la question, multiplions par A−1 les
deux membres de la formule précédente X’ = AX :
A−1 X’ = A −1
| {z A} X = X
I

Ainsi, A−1 appliquée à l’image transformée X’ redonne bien l’image de départ X.


Nous pouvons obtenir la matrice de la transformation inverse en résolvant les équations ordi-
naires de la première transformation :
 0
x = − x0

x = −x

y0 = y y = y0
3

d’où nous déduisons que  


−1 −1 0
A =
0 1

Nous retrouvons la même matrice : l’inverse de la transformation A est la transformation A


elle-même. Ceci est une particularité due à la simplicité de la symétrie axiale qui a été envisagée
comme transformation.
Calculons néanmoins l’inverse de la matrice A en utilisant la théorie du calcul matriciel que
nous connaissons, afin de vérifier que tout ceci est cohérent. Nous nous souvenons en effet de
la manière de calculer l’inverse d’une matrice 2 × 2 :
   
a b −1 1 d −b
A= → A = avec det(A) = ad − bc
c d det(A) −c a

Pour la matrice de notre symétrie axiale, nous avons donc :


     
−1 0 −1 1 0 −1 0
A= → det(A) = −1 → A = − = =A
0 1 0 −1 0 1

Nous avons donc bien vérifié que l’inverse de la matrice A est la matrice A elle-même.

Matrice égale à son inverse

Si un nombre x est égal à son inverse, c’est-à-dire si

1
x= = x −1 ⇔ x2 = 1
x
alors il n’existe que deux solutions possibles pour ce nombre :

x = −1
x = +1

Si une matrice A est égale à son inverse, c’est-à-dire si

A = A−1 ⇔ A2 = I

alors deux solutions possibles nous viennent immédiatement à l’esprit pour cette matrice :

A = −I
A = +I

Mais il ne s’agit pas là des seules possibilités : nous venons de découvrir (section précédente)
que la matrice de la symétrie axiale étudiée est aussi égale à son inverse ; elle est donc aussi
une solution de A2 = I. Vérifions-le :
    
2 −1 0 −1 0 1 0
A =AA= = =I
0 1 0 1 0 1

Il en est de même pour son opposé, et pour bien d’autres matrices encore.
4

Exemple Calculons le produit d’une autre matrice encore avec elle-même :


    
−1 α −1 α 1 0
=
0 1 0 1 0 1

Rechercher les matrices qui, multipliées par elles-mêmes, donnent la matrice identité est donc
un problème moins simple que qu’on pourrait le penser de prime abord. Il existe en réalité une
infinité de matrices qui possèdent cette propriété.

Multiplication de matrices de transformations

Deux fois la même transformation

Nous venons de rencontrer la multiplication d’une matrice par elle-même, en d’autres termes
une matrice élevée au carré. Intéressons-nous à ce que pourrait être l’interprétation de la mul-
tiplication de matrices dans le contexte des transformations.
Nous devinons intuitivement que la matrice A2 doit être la matrice d’une seule transformation
équivalente à la transformation A appliquée deux fois de suite et c’est bien le cas. En effet, si
nous appliquons la transformation A à une image X, nous obtenons une deuxième image X’

X’ = A X

et si nous appliquons la même transformation A au résultat X’, nous obtenons une troisième
image X"
X" = A X’
En combinant ces deux équations pour éliminer X’, nous obtenons
X’
z}|{
X" = A X’ = A A X = A2 X

Ainsi, A2 est bien la matrice de la transformation équivalente à l’application de la transforma-


tion A deux fois de suite.
Dans le cas de la symétrie axiale d’axe y, A2 est la matrice identité I, ce qui est bien cohérent
avec le fait que nous retrouvons l’image originale après deux applications successives de cette
transformation.

Deux transformations différentes

Abordons maintenant une situation où nous enchaînons non plus deux fois la même transfor-
mation, mais deux transformations différentes, la transformation A comme auparavant et une
nouvelle transformation B :
 0  00
x = x0
   
x = −x −1 0 1 0
A: A= B: B=
y0 = y 0 1 y00 = x 0 + y0 1 1

Notons que nous avons volontairement choisi pour B une application linéaire (ses expressions
mathématiques ne font apparaître que les puissances 1 des coordonnées : pas de carré, ni de
cube, ni aucune autre puissance).
5

Enchaînons ces deux transformations dans l’ordre, d’abord A et ensuite B. Nous connaissons
déjà le résultat de la première transformation.
Pour la deuxième, nous voyons que les abs-
cisses des pixels restent inchangées ( x 00 = x 0 ).
En revanche leurs ordonnées sont augmentées
de quantités égales à leurs abscisses (y00 =
x 0 + y0 ). Chaque pixel subit donc un glissement
en ordonnée, de longueur égale à son abscisse,
dans le sens de l’axe y pour les pixels qui ont
x > 0 et dans le sens contraire pour les pixels
qui ont x < 0. Seul le pixel (0, 0) reste en place.
Les pixels à droite de l’axe y montent tandis que ceux à gauche descendent, et ce d’autant plus
qu’ils sont loin de l’axe y.
Les effets des deux transformations successives sont illustrés ci-dessous.

Remarque. Notez qu’après la transformation B, l’image (initialement de forme carrée) de-


vrait avoir la forme d’un parallélogramme. Ce n’est pas le cas sur la figure ci-dessus parce que,
par souci de gain de place, l’image finale a été limitée par le même carré que celui de départ.

Matrice de la transformation globale

Plus haut, nous avons écrit les matrices des transformations A et B. Utilisons-les pour écrire la
manière dont les coordonnées des pixels sont transformées :

A B
z }| {   z }| { 
x0 x 00 x0
     
−1 0 x 1 0
= et =
y0 0 1 y y00 1 1 y0

En combinant ces deux équations nous obtenons :

B A BA
z }| { z }| {   z }| {  
x 00 x 00
    
1 0 −1 0 x −1 0 x
= ⇒ =
y00 1 1 0 1 y y00 −1 1 y

La dernière matrice est celle de la transformation combinée de A suivie de B et elle se calcule


par la multiplication matricielle BA, dans cet ordre, et pas le contraire (B multiplie le résultat
de la multiplication de A par X). Cet ordre doit être respecté car la multiplication matricielle
n’est pas commutative.
6

Permutation des deux transformations

Les transformations d’images elles-mêmes ne sont pas commutatives non plus. En effet, si
nous effectuons d’abord la transformation B (glissement de la partie droite vers le haut et de la
partie gauche vers le bas, proportionnellement à la distance à l’axe y) et puis la transformation
A (symétrie axiale d’axe y), l’image finale est différente, ainsi que le montre l’illustration ci-
dessous.

Le nouvel enchaînement des deux transformations s’écrit à présent sous la forme matricielle
suivante :
A B AB
z }| { z }| {   z }| {  
x 00 x 00
    
−1 0 1 0 x −1 0 x
= ⇒ =
y00 0 1 1 1 y y00 1 1 y

La dernière matrice est celle de la transformation combinée de B suivie de A et elle ce calcule


par la multiplication matricielle AB, dans cet ordre, qui est précisément le contraire de ce qui
a été fait précédemment.
Nous constatons que les deux matrices des transformations combinées ne sont pas les mêmes :

AB 6= BA

ce qui est cohérent avec le fait que les images qui en résultent ne sont pas les mêmes non plus.

Transformations qui commutent

Examinons le résultat de A, une symétrie axiale d’axe y (c.-à-d. un retournement gauche-


droite), suivie de B, une symétrie axiale d’axe x (c.-à-d. un retournement haut-bas).
7

Les matrices correspondant à ces transformations sont


 0  00
x = x0
   
x = −x −1 0 1 0
A: 0 A = B : B=
y =y 0 1 y00 = −y0 0 −1

Comparons-le au résultat de ces mêmes transformations, mais effectuées dans l’ordre contraire :

Les deux images finales sont les mêmes. Le lecteur pourra vérifier que la multiplication de ces
deux matrices particulières est effectivement commutative :

AB = BA

Conclusion

Sur la base de ces quelques exemples, nous conclurons que si les matrices de deux transfor-
mations commutent alors l’enchaînement de ces deux transformations donne le même résultat
quel que soit l’ordre dans lequel elles sont appliquées. En revanche, si elles ne commutent pas,
le résultat dépend de l’ordre dans lequel elles sont appliquées.

Matrice de transformation non inversible

Examinons maintenant une nouvelle transformation et sa matrice correspondante


 0  
x = αx α 0
A =
y0 = y 0 1

Les abscisses x des pixels sont multipliées par une constante α et les ordonnées y ne changent
pas. L’image est dilatée ou contractée horizontalement selon que α > 1 ou α < 1. Les images
ci-dessous illustrent les effets de la transformation pour α = 1 (transformation identité), α = 2
(dilatation horizontale) et α = 12 (contraction horizontale).
8

Vu que det(A) = α, la matrice de la transformation réciproque est

1
   
−1 1 1 0 0
A = = α
α 0 α 0 1

Plus α est petit (1/2, 1/10, 1/100 etc.), plus l’image transformée par A est étroite. Et plus α1 est
grand dans la matrice de la transformation inverse A−1 qui permet de retrouver l’image de
1
départ. L’image ci-dessous illustre la situation lorsque α = 10 .

Il est intéressant de s’intéresser au cas limite lorsque α devient égal à 0. À ce moment, sur
chaque ligne horizontale de l’image, tous les pixels sont envoyés sur le même point de l’axe
y et se confondent les uns avec les autres. En outre, le déterminant devient nul et il n’est plus
possible de calculer la matrice A−1 car α1 devient infini !

Nous pouvons comprendre cette impossibilité si nous réalisons qu’effectuer la transformation


inverse nécessiterait de calculer 0/0 (ou 0 × ∞), qui est une forme indéterminée. Cela est bien
logique puisque, tous les pixels d’une ligne de l’image originale étant devenus indistincts en
x = 0 dans l’image transformée, il est impossible à l’aide de ce seul pixel de reconstituer toute
la ligne correspondante de l’image originale avec toute la variété des niveaux d’intensité de
ses pixels.

Matrice de rotation

Pour terminer, intéressons-nous à une dernière transformation, la rotation d’image d’un angle
θ, et proposons-nous de déterminer les éléments de sa matrice
 
a b
A=
c d
9

Dans ce but, demandons-nous comment se transforment les points de coordonnées (1, 0) et


(0, 1), qui sont aussi les coordonnées des vecteurs de base unitaires ~1x et ~1y dans les directions
x et y. Nous pouvons les noter sous forme de vecteurs colonnes :
   
~1x = 1 ~1y = 0
0 1

Nous pouvons calculer les vecteurs transformés au moyen de la matrice de transformation :


         
~10x = a b 1
=
a ~ 0
1y =
a b 0
=
b
c d 0 c c d 1 d

Nous voyons que les coordonnées transformées du 1er et du 2e vecteur de base donnent les
éléments respectivement de la 1re et de la 2e colonne de la matrice de transformation. Notons
que ce résultat se généralise à trois dimensions avec trois vecteurs de base et une matrice 3 × 3.
Nous pouvons aussi calculer les vecteurs transformés par la géométrie. Examinons les figures
suivantes, qui illustrent le vecteur ~1x et sa transformation, puis le vecteur ~10x et sa transforma-
tion :

Les seules propriétés géométriques du cosinus et du sinus nous montrent que


   
0
~1x = cos θ 0
~1y = − sin θ
sin θ cos θ

En identifiant ces deux séries de résultats, nous pouvons finalement construire la matrice de
transformation A, et constater par la même occasion que ses éléments ne dépendent que de
l’angle θ :  
cos θ − sin θ
A=
sin θ cos θ

L'essentiel
• Toute matrice carrée A peut être interprétée comme la matrice d’une transformation,
ses colonnes successives représentant des vecteurs qui sont les transformées de cha-
cun des vecteurs de base.
• L’inverse A−1 de cette matrice correspond à la transformation réciproque.
• Le produit de deux matrices correspond à une transformation qui résulte de l’en-
chaînement des deux transformations correspondantes. La matrice de la deuxième
transformation multiplie à gauche celle de la première :

B après A ←→ BA ←→ A puis B
cet ordre devant être respecté car la multiplication matricielle n’est pas commutative.
• Une transformation dont la matrice possède un déterminant est nul fait perdre de
l’information et est une transformation irréversible.
10

• La matrice de rotation d’un angle θ est


 
cos θ − sin θ
sin θ cos θ

• La matrice d’une transformation peut être construite en remplissant chacune de ses


colonnes avec les coordonnées de chacun des vecteurs de base modifiés par cette
transformation.
~10x ~10y
 ↓ ↓ 
a b
c d

• Ceci se généralise à trois dimensions avec une matrice 3 × 3.

Vous aimerez peut-être aussi