Enseignant du Cours: DJAFER BADDOU (PhD)
Courriel: djafer.baddou@uqo.ca
1
Programmation 2D/3D
2
Programmation 2D/3D
Préparation GL
Plan de Projection
Introduction à
l’Infographie
Introduction à
OpenGL/ WebGL
Introduction
Contenu
Rastérisation et
Couleurs en GL
Notion sur
les Couleurs
Plaquage des
Texture en GL
Colorage de la
Scène
Optique et
Infographie
Illuminée la
Scène
Phong Shading
Model WebGL
Transformations
Géométriques
Notions
Mathématiques
Pipeline de GL
Revisited
Les Mathématiques
et l’Infographie
INTRODUCTION
La géométrie est l'étude des relations
entre les objets dans un espace à
n‐dimensions.
En infographie, nous sommes
intéressés à des objets qui existent
en 2D/3D.
Les objets géométriques sont
exprimés souvent dans un repère
cartésien (O, x , y , z).
Un point, par exemple en 3D, a
trois coordonnées: (x, y, z).
Nous aurons principalement besoin
de trois éléments de base:
Les scalaires.
Les vecteurs.
Les points.
3
Programmation 2D/3D
Notions Mathématiques
En physique, plusieurs quantités comme la masse, le volume et le temps sont spécifiés par
leur grandeur suivi ou non d'une unité ( 1 kg , 14 litres , 30 sec, 3 °C,).
Ces quantités n'impliquent pas d'idées de direction. Elles sont appelées scalaires.
Un scalaire est souvent un nombre entier , réel ou complexe. Les exemples familiers sont:
de nombres entiers Z: (ex. ‐1, 3, 5, etc.),
de nombres réels R: (ex. ‐1.3, 5.43, etc.), et
de nombres complexes C: (ex. ‐1+i, 3, 3i+5, etc.).
Les scalaires obéissent aux lois ordinaires des opérations arithmétiques de base:
l'addition, la soustraction, la multiplication et la division.
Les scalaires obéissent à certains axiomes algébriques fondamentaux ex:
associativité, commutativité, etc.
Un scalaire est une quantité physique qui n'est spécifié que par sa grandeur suivi ou non
d'une unité ( 1 kg , 14 litres , 30 sec, 3 °C,).
Les Scalaires
INTRODUCTION
La géométrie est l'étude des relations
entre les objets dans un espace à
n‐dimensions.
En infographie, nous sommes
intéressés à des objets qui existent
en 2D/3D.
Les objets géométriques sont
exprimés souvent dans un repère
cartésien (O, x , y , z).
Un point, par exemple en 3D, a
trois coordonnées: (x, y, z).
Nous aurons principalement besoin
de trois éléments de base:
Les scalaires.
Les vecteurs.
Les points.
4
Programmation 2D/3D
Notions Mathématiques
Un scalaire est une quantité physique qui n'est spécifié que par sa
grandeur suivi ou non d'une unité.
En physique, les exemples incluent:
1 kg , 14 litres , 30 sec, 3 °C, etc.
Un vecteur est une quantité physique qui est spécifié par une grandeur,
une direction et un sens.
En physique, les exemples incluent:
Les vecteurs de force, de vitesse, etc.
Les Vecteurs
Notion d’Espace Vectoriel
Notion d’Espace Vectoriel
1) (E, +) est un groupe abélien, c -`a - d :
1. (, , ) E
3
on a (+ )+ = + ( + ) (associativité)
2. (, ) E
2
 + = + (commutativité)
3.   E,   E t.q. + = (élément neutre)
4.   E,  E t.q. +  = (symétrique)
2) (, ) E
2
, (λ, µ) K
2
on a :
λ .(+ ) = λ . + λ .
(λ + µ). = λ . + µ .
λ .(µ . ) = (λµ).
. = est l’élément neutre pour la multiplication de K
5
Soit K représente un corps
commutatif.
On considère un ensemble E
sur lequel on suppose
définir:
1. une loi de composition
interne notée
additivement (+)
2. une loi de composition
externe, notée
multiplicativement (.), de
K × E dans E
On dit que E est un
espace vectoriel sur K si:
Espaces Vectoriels
Programmation 2D/3D
Notions Mathématiques
Dans toute la suite,
on notera:
l’élément
neutre pour la loi
de composition
interne et on
l’appellera le
vecteur nul.
Le symétrique
d’un élément de
E sera noté .
E est un espace vectoriel sur K et ses éléments des vecteurs
Les Vecteurs
Les Vecteurs
Muni de ces deux lois, K
n
est un espace vectoriel sur K. En particulier, tout corps commutatif K est un espace vectoriel sur lui-même.
6
Chaque vecteur V non nul a un vecteur opposé ‐V qui a la même grandeur mais de direction inverse au vecteur original.
Soit n un entier strictement positif.
On considère les suites ordonnées de n éléments de K : (x
1
, x
2
, .. , x
n
).
Lensemble de ces suites est noté K
n
. Soient: x = (x
1
, x
2
, . . . , x
n
) et x′ = (x
1
, x
2
, . . . , x
n
) deux éléments de K
n
1. La somme et la soustraction de deux vecteurs quelconques est respectivement: U+V et U‐V. Chacune résulte en un autre vecteur:
Exemples: x + x′ = (x
1
+ x’
1
, . . . , x
n
+ x’
n
)
2. Et λ
K, : on pose : λ . x = (λx
1
, λx
2
, . . . , λx
n
)
v
-v
v
w=u+v
u
v
Espaces Vectoriels
Programmation 2D/3D
Notions Mathématiques
Ensemble des Applications
Ensemble des Applications
2. et une loi appelée multiplication ( × ) par un scalaire:
K × F(K, K) −→ F(K, K)
(λ, f) −→ λ f
où λ f est l’application définie par
(λ f)(x) = λ f(x)
pour tout x dans F.
7
On note F(K, K) l’ensemble des applications de K dans K.
1. On définit, sur F(K, K), une loi appelée addition ( + )
des applications
F(K, K) × F(K, K) −→ F(K, K)
(f, g) −→ f + g
où f + g est l’application définie par
(f + g)(x) = f(x) + g(x)
pour tout x K,
Espaces Vectoriels
Programmation 2D/3D
Notions Mathématiques
Muni de ces deux lois, l’ensemble F(K, K) est un espace vectoriel sur K.
Propriétés Élémentaires
EV de Dimension Finie
Définition: Un espace vectoriel E est dit de dimension finie s’il admet une famille nératrice
finie.
Dire qu’une famille ( x
i
) i
I est génératrice d’un espace vectoriel E signifie que E = Vect ( x
i
) , i
I
Théorème: Soit E un espace vectoriel non nul de dimension finie. Alors E admet une base finie.
Corollaire : Soit E un espace vectoriel de dimension finie. De toute famille génératrice de E, on
peut extraire une base de E.
8
λ K, λ . 0
E
= 0
E
x E, 0 . x = 0
E
x E, λ K, (−λ). x = (λ . x)
λ . x = 0  λ = 0 ou x = 0
E
Espaces Vectoriels
Notions Mathématiques
Notion de Base
Notion de Base
Définition: Soit ( x
i
) iI une famille d’éléments de E. Dire que cette
famille est libre (ou que les x
i
sont linéairement indépendants) signifie
que, pour toute famille
i
) d’´éléments de K presque tous nuls, si X iI
λ
i
x
i
= 0, alors, pour tout i I, λ
i
= 0.
Dans le cas contraire, on dit que la famille est liée ou que les x
i
sont
linéairement dépendants.
Une famille ( x
i
) i I est liée si et seulement si l’un des x
i
est
combinaison linéaire des autres.
Définition On dit qu’une famille ( x
i
) iI est une base de E si elle
est libre et génératrice de E.
Théorème: Soit (( e
i
)) iI une base d’un espace vectoriel E.
Tout vecteur x de E s’´écrit de manière unique comme
combinaison linéaire des e
i
: x = X i I λ
i
e
i
.
Les λ
i
sont appelés les coordonnées de x dans la base (e
i
) i I
Indépendance linéaire
Notion de dimension
Dans un espace vectoriel, le nombre maximal de vecteurs
linéairement indépendants est fixe et est appelé la
dimension de l'espace.
Dans un espace à n dimensions, tout ensemble de n
vecteurs linéairement indépendants forment une base pour
l'espace.
Un ensemble de vecteurs:
v
1
, v
2
, ..., v
n
sont linéairement indépendants si:
α
1
v
1
+ α
2
v
2
+…+ α
n
v
n
= 0 <==> α
1
= α
2
= ... = α
n
= 0
α
1
, α
2
,, α
n
sont des constantes réelles.
Si un ensemble de vecteurs est linéairement
indépendant, aucun élément ne peut être
représenter en terme des autres.
Si un ensemble de vecteurs est linéairement
dépendant, on peut écrire au moins un des
vecteurs en termes des autres.
Espaces Vectoriels
Notions Mathématiques
Notion de Base
Étant donné une base
{v
1
, v
2
, ...., v
n
},
tout vecteur v dans l’espace peut être écrit comme suit:
v = α
1
v1 + α
2
v
2
+…+ α
n
v
n
les {α
i
} sont uniques.
9
Système de coordonnées
Système de coordonnées
Nous pouvons écrire la
représentation comme une
ligne ou un tableau de
scalaires colonne:
10
Considérons une base
{v
1
, v
2
, ...., v
n
}.
Étant donné un vecteur écrit
v = α
1
v
1
+ α
2
v
2
+…+ α
n
v
n
,
la liste de scalaires
{α
1
, α
2
, .... , α
n
}
est la représentation de v par rapport à la base donnée.
Considérons le vecteur:
v = 2v
1
+ 3v
2
-4v
3
.
Les coordonnées du vecteur sont: (2,3,-4).
Ces coordonnées sont définies par rapport à la base
{v
1
, v
2
, v
3
}.
n
2
1
n21
T
v =
Espaces Vectoriels
Notions Mathématiques
Espace Vectoriel Euclidien
Problème
Les espaces de vecteurs sont insuffisants pour décrire
toute la géométrie,
Exemple plusieurs vecteurs de positions différents
peuvent avoir les mêmes direction et grandeur dans
l’espace.
11
Définition: On appelle espace vectoriel euclidien tout espace
vectoriel réel de dimension finie muni d'un produit scalaire.
La positivité du produit scalaire permet de définir pour tout
vecteur :
Espaces Vectoriels
Notions Mathématiques
Le Point est la Solution
Relation Vecteur et Point
Il y a une relation directe entre les points et
les vecteurs.
Espace Affine
Un point constitue une position dans
l'espace. Il permet la localisation dans
l’espace.
finition
finition
1. L'espace vectoriel Ε s'appelle
alors L'espace vectoriel
directeur (ou direction) de
l'espace affine Ԑ.
Les éléments de Ԑ sont
appelés des points et
Les éléments de E sont
appelés des vecteurs.
2. Lapplication de Ԑ × Ε dans
Ε donne une application
bijective
ex: translation
voir détail plus loin )
Espace Affine
12
On dit qu'un ensemble non vide Ԑ est un espace affine s'il
existe:
1. un espace vectoriel Ε et
2. une application de Ԑ × Ε dans Ε
qui
au point A
Ԑ et au vecteur
E
associe un point B
Ԑ noté B = A +
Vérifiant les 3 axiomes:
1.
A
Ԑ , A + = A
2.
A
Ԑ ,
,
E on a , (A + ) + = A + ( + ) ;
3.
( A , B )
Ԑ
2
,
E t.q. B = A + , on note = 
Notions Mathématiques
Vecteur défini par deux points
Vecteur défini par deux points
relation de Chasles
( A , B , C )
Ԑ
3
, on a:
 +  = 
A + ( + ) = ( A + ) + 
= B +  = C .
( A , B )
Ԑ
2
,  = -  ;
en effet,
 +  =  =
Espace Affine
13
Soit l’espace affine Ԑ attaché a l’espace vectoriel E.
Étant donnés deux points A et B de Ԑ , l’unique vecteur tel que:
B = A + est noté  .
Les 3 axiomes, jointe a cette définition, donnent alors les résultats suivants:
1.
A
Ԑ , A + = A t
u
= Id
Ԑ
2.
A
Ԑ ,
,
E on a , (A + ) + = A +( + ) t
u+v
= t
u
o t
v
3.
( A , B )
Ԑ
2
,
E t. q B = A + = 
Pour B = A   = .
Notions Mathématiques
Système de coordonnées
Système de coordonnées
Espace Affine
14
Un système de coordonnées est insuffisant pour représenter les points.
Si nous travaillons dans un espace affine, nous pouvons ajouter un point
unique, l'origine, aux vecteurs de base pour former un repère.
v
2
v
1
v
3
P
0
Notions Mathématiques
Un repère de l’espace affine Ԑ de directeur l’espace vectoriel E est un couple
R = ( O , B ) formé d’un point O
Ԑ et d’une base B = (
1
,
2
, . . . ,
n
) de E.
Le point O est appelé origine du repère et (
1
,
2
, . . . ,
n
) sont appelés les
vecteurs de base du repère. R = ( O , B ).
P
Ԑ les composantes du vecteur dans la base du repère R = ( O , B )
sont appelés les coordonnées de P dans le repère R = ( O , B ).
Ainsi, les coordonnées x
1
, x
2
, . . . , x
n
de P dans le repère R = ( O , B ) sont
caractérisées par l'égalité:
 = x
1
1 +
x
2
2
, + . . . + x
n
n
Repère Affine
Espace Affine
15
Notions Mathématiques
Dans ce repère, chaque vecteur peut être écrit comme suit:
v = α
1
v
1
+ α
2
v
2
+ .... + α
n
v
n
et chaque point peut être écrit comme suit:
P = P
0
+ β
1
v
1
+ β
2
v
2
+ ... + β
n
v
n
Repère Affine
v
2
v
1
v
3
P
0
P
Résumé
Les Points
On a besoin de
localisation dans
l’espace (les
points).
Un point constitue
une position dans
l'espace.
Dans un espace affine
Les éléments de Ԑ sont appelés des points et
Les éléments de E sont appelés des vecteurs.
Les espaces de vecteurs sont insuffisants pour
décrire toute la géométrie,
On a besoin de localisation dans l’espace (les
points).
Les Points
Les Points
Pour nommer un vecteur on peut :
utiliser l’origine et l’extrémité d’un représentant du vecteur : on parlera du vecteur QP 
lui donner un nom à l’aide d’une lettre (en générale minuscule) : on parlera alors du vecteur v
16
Il y a une relation directe entre les points et les vecteurs. Soit la figure
suivante: avec deux points P et Q.
Il est facile de démontrer dans n’importe quel repaire cartésien que:
P - Q = V et V+Q = P.
Espace Affine
Notions Mathématiques
Produit Scalaire
Produit Scalaire
Propriétés: Dans un repère orthonormé, le vecteur a
pour coordonnées (x , y) . Dans ce cas :
| | =
 
Pour tout réel λ, et tout vecteur alors
| λ | = | λ | | |
17
Définition:
Soit un vecteur, A et B deux points tel que =  .
On appelle norme de , noté | | , la distance AB.
| | = |  | = AB
Lorsque | | = 1, on dit que le vecteur est unitaire.
Espace Affine
Notions Mathématiques
Propriété 1: Dans un repère (O, i
, j
), si deux vecteurs et ont
pour coordonnées respectives (x , y) et (x, y’), alors :
.= x x’ + y y.
Propriété 2: Si et sont deux vecteurs non nuls , le produit
scalaire des vecteurs et est aussi obtenu par la formule :
.= || || cos ( , )
Définition:
Le produit scalaire de deux vecteurs et
est le nombre réel, noté: .définie par :
. = [1/2] (| + |² - || ² - || ²)
Produit Scalaire
Produit Scalaire
Le produit scalaire entre deux
vecteurs u et v est défini comme
suit:
18
Soit les deux vecteurs:
u =(u
1
, u
2
, u
3
)
T
v =(v
1
, v
2
, v
3
)
T
θ
u
vO
u . v = u
1
v
1
+ u
2
v
2
+ u
3
v
3
u . v = |u|. |v|.cos(θ)
Espace Affine
Notions Mathématiques
Produit scalaire et orthogonali :
Soit et deux vecteurs non nuls, et A, B et C trois points tels que  = et  =
On dit que et sont orthogonaux lorsque les droites (AB) et (AC) sont
perpendiculaires.
Théorème :
• Les vecteurs et sont orthogonaux si et seulement si .= 0
• Les droites (AB) et (CD) sont perpendiculaires équivaut à dire que
 .  = 0
On peut démontrer que :
OP = (u . v ) v
θ
u
v
P
O
Dimension d’un Espace Affine
Droite Affine
P (α) = P
0
+ α d
Est la droite qui forme l’ensemble des points qui
passent par P
0
dans le sens du vecteur d.
La dimension d’un espace affine est la dimension de l’espace
vectoriel qui lui est associé. En particulier:
1. un espace affine de dimension 1 est appelé droite affine,
2. un espace affine de dimension 2 est appelé plan affine.
3. hyperplan affine = espace affine de dimension n
Espace Affine
Notions Mathématiques
Droite Affine
La forme implicite: ax + by + c = 0,
a, b et c sont des constantes.
La forme paramétrique:
x (α) = α x
1
+ (1- α) x
0
y (α) = α y
1
+ (1- α) y
0
Où (x
0
, y
0
) et (x
1
, y
1
) sont deux points de la ligne.
La forme P(α) = P
0
+ α d
est connue comme la forme paramétrique de la ligne.
Les autres formes de l’équation d’une ligne sont:
La forme explicite: y = mx + h,
où m, h sont des constantes.
19
Droite Affine
Si α > = 0, P(α) est le rayon partant de P
0
dans la direction de d.
Si nous utilisons deux points pour
définir v, alors:
P (α) = Q + α (R-Q)
P (α) = Q + α v
P (α) = α R + (1- α) Q
Pour 0 <= α <= 1, on obtient tous les
points sur le segment de ligne joignant
R et Q.
20
P (α) = P
0
+ α d
Espace Affine
Notions Mathématiques
Dimension d’un Espace Affine
La dimension d’un espace
affine est la dimension de
l’espace vectoriel qui lui est
associé. En particulier:
un espace affine de
dimension 1 est appelé
droite affine,
2. un espace affine de
dimension 2 plan affine.
3.hyperplan affine = espace
affine de dimension n
Courbes et surfaces
Courbes et surfaces
21
Les courbes sont des
fonctions non-linéaires
à un paramètre de la
forme P(α).
Les surfaces sont
formées à partir de
deux paramètres
P(α,β).
P(α)
Espace Affine
Notions Mathématiques
P(α,β)
P(α,β)
P(α,β)
Les fonctions linéaires
donnent des plans et des
polygones.
Dimension d’un Espace Affine
La dimension d’un espace
affine est la dimension de
l’espace vectoriel qui lui est
associé. En particulier:
un espace affine de
dimension 1 est appelé
droite affine,
un espace affine de
dimension 2 plan affine.
3. hyperplan affine =
espace affine de
dimension n
Dimension d’un Espace Affine
Un Plan Affine
Un plan en 3D peut
être défini:
par un point et
deux vecteurs
ou bien
par 3 points,
comme illustré
par les exemples
suivants:
22
La dimension d’un
espace affine est la
dimension de l’espace
vectoriel qui lui est
associé. En particulier:
un espace affine de
dimension 1 est
appelé droite affine,
un espace affine de
dimension 2 plan
affine.
hyperplan affine =
espace affine de
dimension n
Espace Affine
Notions Mathématiques
P(α, β)=R+αu + βv
u
v
R
P
P(α, β)=R+ α(Q-R)+ β(P-Q)
P
R
Q
Les Triangles
Les Triangles
Cette représentation est appelée: la représentation en coordonnées barycentriques de P.
Un triangle est convexe, donc n'importe quel point a l'intérieur peut être représen
comme une somme affine
P (α
1
, α
2
, α
3
) = α
1
P + α
2
Q + α
3
R, α
1
+ α
2
+ α
3
= 1 et α
i
> = 0.
Somme convexe de
P et Q.
Pour 0<=, b<=1, on obtient tous les points du triangle
Somme convexe
de S() et R.
Espace Affine
Notions Mathématiques
23
Les Normales
Les Normales
.
24
Chaque plan possède un vecteur n normal
perpendiculaire au plan. En connaissant un
point R et deux vecteurs u et v du plan en
question, le vecteur n peut être obtenu par la
formule du produit vectoriel comment suit:
n = u x v
Sachant aussi que tout point du plan peut être
obtenu par la formule:
P(α,β) = R+αu + βv,
on aura le produit scalaire:
(P(α,β) R)·n = 0
R
u
v
Espace Affine
Notions Mathématiques
Application de Ԑ × Ε dans Ε
Application de Ԑ × Ε dans Ε
Bijection:
Soit A et B deux ensembles.
Une fonction f définie sur A est une bijection de A sur B:
si et seulement si tout élément de A a une image
unique dans B = f(A) et
si tout élément de B a un antécédent unique dans A =
g(B).
Soit f une bijection de A sur B,
x
A et
y
B tels que
y = f(x).
La fonction g définie pour tout élément y de B par x = g(y) est
une bijection de B sur A appelée bijection réciproque de f et
notée:
g = f
−1
.
Ex: la fonction logarithme népérien est la réciproque de la
fonction exponentielle.
25
On dit qu'un ensemble non vide Ԑ est un espace affine s'il existe:
un espace vectoriel Ε et
une application de Ԑ× Ε dans Ε
qui
au point A
Ԑ et au vecteur
E
associe un point B de Ԑ noté B = A +
Vérifiant les 3 axiomes:
1.
A
Ԑ , A + = A
2.
A
Ԑ ,
,
E on a , (A + ) + = A + (+ ) ;
3.
( A , B )
Ԑ
2
,
E t. q B = A +
Pour A
Ԑ ,
E et B = A + , on note = .
Le point A étant fixé, l'application θ
A
: E→E, B
 est une
bijection (surjective + injective ).
Espace Affine
Notions Mathématiques
Application de Ԑ × Ε dans Ε
Application de Ԑ × Ε dans Ε
Un espace affine de directeur E est un
ensemble non vide Ԑ muni d’une application
θ
A
qui à chaque bipoint (A, B)
Ԑ
2
, associe
un élément de E , noté  vérifiant les deux
propriétés suivantes:
Propriété- 1: pour tous A, B, C Ԑ, on a:
 +  =  (relation de Chasles);
Propriété- 2:
A Ԑ,
E
un point
unique B Ԑ tel que  = .
26
On dit qu'un ensemble non vide Ԑ est un espace affine s'il existe:
un espace vectoriel Ε et
une application de Ԑ× Ε dans Ε
qui
au point A
Ԑ et au vecteur
E
associe un point B de Ԑ noté B = A +
Vérifiant les 3 axiomes:
1.
A
Ԑ , A + = A
2.
A
Ԑ ,
,
E on a , (A + ) + = A + (+ ) ;
3.
( A , B )
Ԑ
2
,
E t. q B = A +
Pour A
Ԑ ,
E et B = A + , on note = .
Le point A étant fixé, l'application θ
A
: E→E, B
 est une
bijection (surjective + injective ).
Espace Affine
Notions Mathématiques
Application de Ԑ × Ε dans Ε : Propriété- 2
Application de Ԑ × Ε dans Ε : Translation
Soit l’espace affine Ԑ attaché a l’espace vectoriel E.
Pour chaque
E
l’application de Ԑ dans Ԑ qui a A associe A + est appelée la
translation de vecteur , on la note t
u
.
Les axiomes (1), (2) et (3) reviennent ainsi a dire:
1.
A
Ԑ , A + = A t
u
= Id
Ԑ
2.
A
Ԑ ,
,
E on a , (A + ) + = A + (+ )
t
u+v
= t
u
o t
v
3.
( A , B )
Ԑ
2
,
E t. q B = A + t
u
(A) = B
27
Propriété- 2:
A Ԑ,
E
un
point unique B Ԑ tel que  = .
assure, pour tout point A et tout
vecteur ,
l’existence et
l’unicité
d’un point B vérifiant:
 = ,
que l’on nomme translaté de A par
;
on écrit:
B = A + ou = B − A.
Espace Affine
Notions Mathématiques
Repère Affine
Repère Affine
La dimension d’un espace affine est la dimension de l’espace vectoriel qui lui est
associé. En particulier:
1. un espace affine de dimension 1 est appelé droite affine,
2. un espace affine de dimension 2 plan affine.
3. hyperplan affine = espace affine de dimension n
1. Pour un point quelconque:
P : 1·P = P et 0·P = 0.
Considérer tous les points de la forme:
P (α) = P
0
+ α d
qui forment l’ensemble des points qui passent par P
0
dans le sens du vecteur d si α
positive.
28
Espace Euclidien
Un espace affine euclidien est un
espace affine dirigé par un espace
euclidien. On peut définir dans ce cas la
distance d(AB ) ‖ 
un repère cartésien (une origine et une
base de l'espace vectoriel associé) et en
travaillant avec des coordonnées.
Espace Affine
Notions Mathématiques
Coordonnées Homogènes
Coordonnées Homogènes
Si nous définissons:
0 • P = 0 et 1 • P = P,
alors, on peut écrire:
v = α
1
v
1
+ α
2
v
2
+ α
3
v
3
= [α
1
α
2
α
3
0][v
1
v
2
v
3
P
0
]
T
P = β
1
v
1
+ β
2
v
2
+ β
3
v
3
+ P
0
= [β
1
β
2
β
3
1][v
1
v
2
v
3
P
0
]
T
Ainsi, nous obtenons la représentation en coordonnées
homogène en 4 dimensions, comme suit:
v = [α
1
α
2
α
3
0]
T
et P = [β
1
β
2
β
3
1]
T
Lutilisation des coordonnées homogènes est la technique
de représentation la plus employée pour les positions et
les déplacements.
Toute transformation géométrique sera généralement
représentée par une matrice en coordonnées homogènes.
29
Considérons le point et le vecteur suivants:
P = P
0
+ β
1
v
1
+ β
2
v
2
+ .... + β
n
v
n
v = α
1
v
1
+ α
2
v
2
+ .... + α
n
v
n
Qui semblent avoir des représentations similaires:
P = [β
1
β
2
β
n
] v = [α
1
α
2
α
n
].
Où le point se confond avec le vecteur.
v
P
0
v
2
v
1
v
3
P
Point fixé
v
Représentation
Notions Mathématiques
Coordonnées Homogènes
Coordonnées Homogènes
Les coordonnées homogènes sont la c
de tous les systèmes graphiques. En effet:
Pour la visualisation orthographique,
nous pouvons maintenir w = 0 pour les
vecteurs et w = 1 pour les points.
Pour la visualisation perspective,
nous devons utiliser une division */w.
30
La forme des coordonnées
homogènes d'un point en trois
dimensions [x y z] est donnée
comme suit:
P =[x' y' z' w]
T
= [wx wy wz w]
T
On retourne à 3 dimensions (pour
w 0) par:
x x'/w, y y'/w, z z'/w
Si w = 0, la représentation est
celle d'un vecteur.
Pour w= 1, la représentation d'un
point est [x y z 1].
Représentation
Notions Mathématiques
Coordonnées Homogènes
Coordonnées Homogènes
Le volume de visualisation pour une projection
en orthographique est un parallélépipède
rectangle.
Projections Orthographique
Projections (On dit aussi projections parallèles), dont l’objet sur le
plan image ne change pas de grandeur peu importe à quelle distance
est loin du plan image. Donc dans:
Les coordonnées homogènes w= 1.
Représentation
Notions Mathématiques
Projection Perspective
Dans les projections en perspective, pendant que l’objet s'éloigne de
l'observateur, il apparaît de plus en plus petit sur l'écran. Souvent on
dit effet foreshortening ( raccourci ).
Pour la visualisation perspective, utiliser une division */w.
Les coordonnées linéaires ( 3 D) w=0
En d'autres termes, les coordonnées homogènes [x: y: z: w]
projettent lobjet vers les coordonnées linéaires (x/w , y/w , z/w).
le diviseur w que la visualisation perspective applique est une
fonction linéaire de la distance perspective.
Le quatrième composant, w, divise x, y, et z
lorsque les coordonnées sont projetées.
31
Coordonnées Homogènes
Coordonnées Homogènes
Ce qui est une meilleure modélisation de la réalité.
Projection Perspective
Le volume de visualisation pour une projection en perspective
est un cône rectangulaire, qui ressemble à une pyramide avec
le haut coupé, avec l'extrémité étroite vers l‘observateur. On
dit un frustum pyramidique.
Représentation
Notions Mathématiques
Les projections orthographiques peuvent être intéressants. Mais les projections en perspective créer des scènes plus réalistes.
Pour w = 0 l’objet sera très proche du point de vue de sorte que la visualisation perspective sera plus large. Ce qui en OpenGL peut
conduire a un résultat indéfini.
Avec les coordonnées linéaires (x/w , y/w , z/w) la projection orthographique est parfois interprétée comme étant une projection
perspective dans laquelle le point de perspective est rejeté à l'infini ( w = 0 ). le diviseur w que la visualisation perspective applique
est une fonction linéaire de la distance perspective.
L’utilisation des coordonnées homogènes est la technique de représentation la plus employée pour les positions et les déplacements.
Toute transformation géométrique sera généralement représentée par une matrice en coordonnées homogènes.
Toutes transformations standards (ex. translation, changement d'échelle, rotation, etc.) peuvent être mises en œuvre avec des
multiplications de matrices 4x4.
Le pipeline de matériel fonctionne avec les représentations en 4 dimensions.
32
Changement de Coordonnées
Changement de Coordonnées
Nous pouvons appliquer un processus similaire en coordonnées
homogènes aux représentations de points et de vecteurs. Soient
deux repères:
(P
0
, v
1
, v
2
, v
3
) (Q
0
, u
1
, u
2
, u
3
)
Tout point ou vecteur peut être
représenté dans l’un des deux repères.
Nous pouvons aussi représenter (P
0
, v
1
, v
2
, v
3
) en termes de (Q
0
,
u
1
, u
2
, u
3
).
En étendant ce que nous avons fait pour le changement des bases,
on obtient:
u
1
= g
11
v
1
+ g
12
v
2
+ g
13
v
3
u
2
= g
21
v
1
+ g
22
v
2
+ g
23
v
3
u
3
= g
31
v
1
+ g
32
v
2
+ g
33
v
3
Q
0
= g
41
v
1
+g
42
v
2
+g
43
v
3
+G44p
0
33
Considérons deux représentations d'un vecteur à l'égard
de deux bases différentes. Les représentations sont:
a = [α
1
α
2
α
3
] , b = [β
1
β
2
β
3
] on a:
a = α
1
v
1
+ α
2
v
2
+ α
3
v
3
= [α
1
α
2
α
3
][v
1
v
2
v
3
]
T
b = β
1
u
1
+ β
2
u
2
+ β
3
u
2
= [β
1
β
2
β
3
][u
1
u
2
u
3
]
T
a = α
1
v
1
+ α
2
v
2
+ α
3
v
3
= [α
1
α
2
α
3
][v
1
v
2
v
3
]
T
b = β
1
u
1
+ β
2
u
2
+ β
3
u
2
= [β
1
β
2
β
3
][u
1
u
2
u
3
]
T
Et chaque vecteur u
i
peut être représenté dans la 1
ère
base comme suit:
u
1
= g
11
v
1
+ g
12
v
2
+ g
13
v
3
u
2
= g
21
v
1
+ g
22
v
2
+ g
23
v
3
u
3
= g
31
v
1
+ g
32
v
2
+ g
33
v
3
Représentation
Notions Mathématiques
P
0
v
1
v
2
v
3
Q
0
u
1
u
2
u
3
Changement de Coordonnées
Changement de Coordonnées
Définissant ainsi la matrice 4 x 4 suivante:
g
44
= 1 pour des points g
ii
= 0 pour des vecteurs
Dans les deux repères, tout point ou vecteur a une
représentation de la forme:
a = [α
1
α
2
α
3
α
4
], dans le repère-1, et b = [β
1
β
2
β
3
β
4
], dans le repère-2.
: α
4
= β
4
= 1 pour les points et α
4
= β
4
= 0 pour les vecteurs,
et on a la relation suivante: a = Mb
T
La matrice M, de dimension 4x4, définit une transformation affine en
coordonnées homogènes. Chaque transformation affine préserve les lignes.
34
Sous forme matricielle, on a la matrice
de transformation suivante:
Ce qui donne le changement de
bases par la formule suivante: a = M
T
b
Représentation
Notions Mathématiques
ggg
ggg
ggg



33
M =
ggg
ggg
ggg
ggg
444



M =
Lutilisation des coordonnées homogènes est la technique de représentation
la plus employée pour les positions et les déplacements.
Toute transformation géométrique sera généralement représentée par une
matrice en coordonnées homogènes.
Représentation sur un Repère
Repères de la Scène et de la Caméra
Initialement, ces 2 repères sont les
mêmes (M = I)
Si les objets sont des deux côtés de z = 0,
35
Lorsque nous travaillons avec des
représentations, nous utilisons des
vecteurs à n dimensions ou des tableaux
de scalaires.
Les changements de repères sont alors
définies par des matrices de dimension 4 x 4.
En OpenGL, le repère de base que nous
utiliserons au début est le repère de la
scène.
Nous utiliserons par la suite un repère de
la caméra en changeant le référentiel de la
scène en se basant sur la matrice vue.
Représentation
Notions Mathématiques
M =
1000
d100
0010
0001
nous devons déplacer
le repère de la
caméra par la
matrice:
Rappels
Cercle Trigonométrique
Cercle de centre O et de rayon 1.
Sur le cercle, le sens positif de
rotation est le sens inverse des
aiguilles d’une montre appelé
sens trigonométrique
Le radian:
Le symbole radian est rad.
2π radians correspondent à 360 °
1 rad = 57,3°.
Trigonométrie
36
Soit un triangle rectangle:
On a les relations suivantes:
a
2
+ b
2
= h
2
(théorème de Pythagore)
Cos(θ) = b/h;
Sin (θ) = a/h;
Tan(θ) = a/b;
a
b
h = hypoténuse
θ
Notions Mathématiques
Fonctions sin(x) et cos(x):
Le cosinus du nombre réel x est l’abscisse du point M.
Le sinus du nombre réel x est l’ordonnée du point M.
Pour tout nombre x, on a:
1cos1 x
1sin1 x
1²cos²sin xx
FIN DU CHAPITRE
FIN DU CHAPITRE
FIN DU CHAPITRE
FIN DU CHAPITRE
37
FIN DU CHAPITRE
Programmation 2D/3D
Notions Mathématiques