1
Venceslas BIRIVenceslas BIRI
IGMIGM
Université de Mar ne La ValléeUniversité de Mar ne La Vallée
Synthèse d'images ISynthèse d'images I
63
Plan du coursPlan du cours
I.I. IntroductionIntroduction
II.II. ModélisationModélisation
III.III. Rendu & affichageRendu & affichage
Fabriquer une image de synthèse :Fabriquer une image de synthèse :
Venceslas BIRIVenceslas BIRI
IGMIGM
Université de Mar ne La ValléeUniversité de Mar ne La Vallée
Synthèse d'images ISynthèse d'images I
II. ModélisationII. Modélisation
65
Plan du coursPlan du cours
I.I. IntroductionIntroduction
II.II. ModélisationModélisation
A.A. L’espace 3DL’espace 3D
B.B. Les objetsLes objets
C.C. La scèneLa scène
D.D. La lumière et la matièreLa lumière et la matière
III.III. Rendu & affichageRendu & affichage
Venceslas BIRIVenceslas BIRI
IGMIGM
Université de Mar ne La ValléeUniversité de Mar ne La Vallée
Synthèse d'images ISynthèse d'images I
II. ModélisationII. Modélisation
B. ObjetsB. Objets
67
Plan du coursPlan du cours
I.I. IntroductionIntroduction
II.II. ModélisationModélisation
A.A. L’espace 3DL’espace 3D
B.B. Les objetsLes objets
1.1. Lignes & Courbes Lignes & Courbes
2.2. SurfacesSurfaces
3.3. Objets complexes, humainsObjets complexes, humains
4.4. VolumesVolumes
C.C. La scèneLa scène
D.D. La lumière et la matièreLa lumière et la matière
III.III. Rendu & affichageRendu & affichage
2
68
Plan du coursPlan du cours
II.II. ModélisationModélisation
A.A. ObjetsObjets
1.1. Lignes et courbesLignes et courbes
1.1. Modèles mathématiquesModèles mathématiques
a.a. DroitesDroites
b.b. Courbes paramétriquesCourbes paramétriques
c.c. Spline sSplines
2.2. Modèles informatiqueModèles informatique
a.a. Modélisation par segmentModélisation par segment
b.b. BressenhamBressenham
c.c. AntialiasingAntialiasing
2.2. SurfacesSurfaces
3.3. Objets complexes, humainsObjets complexes, humains
4.4. VolumesVolumes
69
Droites en 2DDroites en 2D
Droites affines 2DDroites affines 2D
ÉquationÉquation
Coordonnées polaires d’une droiteCoordonnées polaires d’une droite
En polaire 2 paramètres suffisent égalementEn polaire 2 paramètres suffisent également
Mais équation plus générale, représente toutes les Mais équation plus générale, représente toutes les
droitesdroites
ρρ
θθ
0cbyax
bxay
ouou
0)sin()cos(
0
yx
cbyax
70
Droites en 2DDroites en 2D
Transformée de HoughTransformée de Hough
But : à partir d’un ensemble de pixels d’une But : à partir d’un ensemble de pixels d’une
image, retrouver la droite qui les relieimage, retrouver la droite qui les relie
En chaque point (x,y) passent une infinité de En chaque point (x,y) passent une infinité de
droite. droite.
Mais elles vérifient toute l’équation :Mais elles vérifient toute l’équation :
Espace de Hough :Espace de Hough :
Matrice NxN de valeurs des paramètres Matrice NxN de valeurs des paramètres ρ et θρ et θ
Discrétisation de l’espace de HoughDiscrétisation de l’espace de Hough
)sin()cos(
yx
71
Droites en 2DDroites en 2D
Transformée de HoughTransformée de Hough
Méthode : Méthode :
Chaque pixel (x,y) créé une courbe dans l’espace de Chaque pixel (x,y) créé une courbe dans l’espace de
Hough. Hough.
Chaque case de la matrice représentant l’espace de Chaque case de la matrice représentant l’espace de
Hough s’incrémente de 1Hough s’incrémente de 1
La case ayant la plus grande valeur représente la La case ayant la plus grande valeur représente la
droite qui représente le mieux les pixelsdroite qui représente le mieux les pixels
)sin()cos(
yx
72
DroitesDroites
Droites 3DDroites 3D
Représentation cartésienne :Représentation cartésienne :
Une ligne en dimension est l’intersection de 2 plansUne ligne en dimension est l’intersection de 2 plans
Représentation paramétrique :Représentation paramétrique :
0
0
2222
1111
dzcybxa
dzcybxa
OO uu
zz
yy
xx
utOz
utOy
utOx
PP
PP
avecavec
avecavec
z
y
x
O
O
O
O
z
y
x
u
u
u
u
etet
Attention : il est souvent intéressant de choisir u unitaireAttention : il est souvent intéressant de choisir u unitaire
ouou
73
DroitesDroites
Distance d d’un point à une droite D ?Distance d d’un point à une droite D ?
OO
uu
PP
On cherche la longueur bleue :On cherche la longueur bleue :
1.1. Calculer la projection de P sur DCalculer la projection de P sur D
2.2. Calculer PP’Calculer PP’
3.3. Prendre sa normePrendre sa norme
P’P’
uuOPOP ).('
Calcul de P’ :Calcul de P’ :
DD
Calcul de PP’ :Calcul de PP’ :
Calcul de d :Calcul de d :
uuOPPOPuuOPOPPPP ).().(''
'PPd
3
74
DroitesDroites
Autres problèmes :Autres problèmes :
Distance entre deux droites DDistance entre deux droites D11 et Det D22 ::
Intersection droite et planIntersection droite et plan
Point moyen de 2 droites, de 3 droites...Point moyen de 2 droites, de 3 droites...
OO11
uu11 PP22
PP11
DD11
uu22 OO
22
DD22
Résolution du système linéaire :Résolution du système linéaire :
0.
0.
221
121
uPP
uPP
avecavec
2222
1111
utOP
utOP
75
CourbesCourbes
Comment représenter les courbes ?Comment représenter les courbes ?
A l’aide de fonction pour les trois coordonnéesA l’aide de fonction pour les trois coordonnées
Représentation paramétrique :Représentation paramétrique :
)(
)(
)(
),,(
tfz
tfy
tfx
zyxP
z
y
x
y = sin(x)y = sin(x) x = r cos(x = r cos(θ)θ)
y = yy = y00 + r sin(θ)+ r sin(θ)
z = z = r cos(r cos(θ/16)θ/16)
76
CourbesCourbes
Comment représenter les courbes ?Comment représenter les courbes ?
A l’aide de conditionA l’aide de conditionss (3d) sur les coordonnées(3d) sur les coordonnées
Représentation cartésienne :Représentation cartésienne :
0),,(
0),,(
),,(
2
1
zyxf
zyxf
zyxP
y y -- sin(x) = 0sin(x) = 0
z = 0z = 0 ??????
77
Courbes paramétriquesCourbes paramétriques
Exemple : trajectoireExemple : trajectoire
Particule soumise à accélération a, munie d’une Particule soumise à accélération a, munie d’une
vitesse initiale Vvitesse initiale V00 et situé à l’origine.et situé à l’origine.
VV00
dt
vd
zga
accélération de la particule :accélération de la particule :
dt
dP
vztgv 0
vitesse de la particule :vitesse de la particule :
position de la particule :position de la particule :
0
2
2vtz
t
gOP
z
y
x
vt
t
gz
vty
vtx
0
2
0
0
2
78
Courbes paramétriquesCourbes paramétriques
TangenteTangente
Définie en tout point de paramètre t de la courbe Définie en tout point de paramètre t de la courbe
par le vecteur :par le vecteur :
Repère de Fresnet :Repère de Fresnet :
Base orthonormaleBase orthonormale
directedirecte
)(
)(
)(
)(
t
dt
df
t
dt
df
t
dt
df
dt
tdM
v
z
y
x
v
v
T
N
79
Courbes paramétriquesCourbes paramétriques
Rayon de courbure :Rayon de courbure :
courbure algébrique courbure algébrique ::
Calcul de Calcul de ::
Rayon de courbure :Rayon de courbure :
)()( tNt
dt
dT
car T est un vecteur unitairecar T est un vecteur unitaire
)(.)()( tNt
dt
dT
t
avec avec >0>0 positifpositif
)(
1
)( t
t
4
80
Courbes libresCourbes libres
81
Courbes libresCourbes libres
Courbes définies par des pointsCourbes définies par des points
ApproximationApproximation
Guidée par les pointsGuidée par les points
InterpolationsInterpolations
Passe par les pointsPasse par les points
InterpolationInterpolation
Linéaire, parabole,Linéaire, parabole,
Spline CatmullSpline Catmull--rom…rom
ApproximationApproximation
Bézier, BBézier, B--spline,spline,
ββ--Spline…Spline…
82
Courbes : famillesCourbes : familles
BézierBézier
SplineSpline
BB--SplineSpline
Natural cubique SplineNatural cubique Spline
CatmulCatmul--rom Splinerom Spline
nonperiodic Bnonperiodic B--splinespline
uniform Buniform B--splinespline
NURBSNURBS KochanekKochanekBartels splineBartels spline
ApproximationApproximation
InterpolationInterpolation
83
Courbes de BézierCourbes de Bézier
Courbes de Bézier : Courbes de Bézier :
Courbes paramétriques épousant la forme d’une Courbes paramétriques épousant la forme d’une
ligne brisée joignant des points prédéfinisligne brisée joignant des points prédéfinis
La courbe paramétrique est définie par des polynômesLa courbe paramétrique est définie par des polynômes
Cas particulier avec 3 points : Cas particulier avec 3 points :
bb00
bb
11
bb22
bb0011
bb1111
bb0022
10
1
0)1()( btbttb
21
1
1)1()( btbttb
Les points de la courbe sont alors définis par :Les points de la courbe sont alors définis par :
)()()1()( 1
1
1
0
2
0tbttbttb
avecavec
 
1..0t
84
Courbes de BézierCourbes de Bézier
Algorithme général :Algorithme général :
Algorithme de De Casteljau :Algorithme de De Casteljau :
Soit m+1 points bSoit m+1 points b00,b,b11, ... , b, ... , bm m et t et t Є Є [0..1][0..1]
)()()1()(],..0[],..1[ 1
1
1tbttbttbrmimr r
i
r
i
r
i
ii btbmi )(],..0[ 0
bb00mm(t) est le point de paramètre t sur la courbe de Bézier (de degré m)(t) est le point de paramètre t sur la courbe de Bézier (de degré m)
bb00mm(t)(t)
bb00mm--11(t)(t) bb11mm--11(t)(t)
bbmm00(t)(t)bbmm--1100(t)(t)bbi+1i+100(t)(t)bbii00(t)(t)bb1100(t)(t)bb0000(t)(t)
22mm évaluations !évaluations !
85
Courbes de BézierCourbes de Bézier
Définitions :Définitions :
Point bPoint bii : point de contrôle ou de Bézier: point de contrôle ou de Bézier
Polygone formé des bPolygone formé des bii : polygone de contrôle ou : polygone de contrôle ou
de Bézierde Bézier
Propriétés :Propriétés :
Invariant par transformation affineInvariant par transformation affine
On a besoin que de transformer les points de contrôleOn a besoin que de transformer les points de contrôle
Invariant par transformation affine du paramètre Invariant par transformation affine du paramètre
de parcours tde parcours t
Passe par les points bPasse par les points b00 et bet bmm et courbe tangente et courbe tangente
au polygone de contrôle en ces pointsau polygone de contrôle en ces points
Enveloppe convexeEnveloppe convexe
On peut rajouter des poids associés à chaque point de contrôleOn peut rajouter des poids associés à chaque point de contrôle
5
86
Courbes de BéziersCourbes de Béziers
Forme de BernsteinForme de Bernstein
Les polynômes de Berstein sont définis par :Les polynômes de Berstein sont définis par :
Satisfont l’équation de récurrence :Satisfont l’équation de récurrence :
Les points de la courbe de Bézier peuvent aussi Les points de la courbe de Bézier peuvent aussi
s’écrire :s’écrire :
imim
itt
i
m
tB
)1()(
)()()1()( 1
1
1tBttBttB m
i
m
i
m
i
m
i
i
imim btt
i
m
tb
0
)1()(
87
Courbes de BézierCourbes de Bézier
Exemple de courbe de degré 1Exemple de courbe de degré 1
Exemple de courbe de degré 2Exemple de courbe de degré 2
]1...0[)()()1()()( 0
1
0
0
1
0ttbttbttbtB
]1...0[)1()( 10 tbtbttB
soitsoit
]1...0[)1(2)1()( 2
2
10
2tbtbttbttB
88
SplinesSplines
Défaut des courbes de BézierDéfaut des courbes de Bézier
M points M points polynômes de degré Mpolynômes de degré M--11
Si on modifie un point, toute la courbe est Si on modifie un point, toute la courbe est
modifiéemodifiée
Impossible de modifier des comportements locaux Impossible de modifier des comportements locaux
sans changer l’ensemble de la courbesans changer l’ensemble de la courbe
Idée : relier des courbes entre des groupes Idée : relier des courbes entre des groupes
de pointsde points
Plusieurs possibilitésPlusieurs possibilités
Approximation : BApproximation : B--splines splines
Interpolation : CatmullInterpolation : Catmull--rom rom
89
SplinesSplines
Définition :Définition :
Soit n+1 valeurs dans [a,b] avec :Soit n+1 valeurs dans [a,b] avec :
on définit la fonction spline de degré mon définit la fonction spline de degré m
par S : R par S : R RR
si :si :
C’est le cas général ...C’est le cas général ...
btttta nn 110 ...
),( baS
1-m
C
]1...0[,],[ 1
nittS ii
m
P
PPmm est l’ensemble des polynômes de degré mest l’ensemble des polynômes de degré m
Attention : spline d’ordre m = spline de degré mAttention : spline d’ordre m = spline de degré m--11
90
Courbes splinesCourbes splines
DéfinitionDéfinition
On a donc :On a donc :
N+1 points et N+1 nœudsN+1 points et N+1 nœuds
N intervallesN intervalles
Des polynômes de degré m sur chaque intervalleDes polynômes de degré m sur chaque intervalle
Une Une courbe splinecourbe spline est définie par est définie par nn+1 points de contrôle et +1 points de contrôle et nn+1 fonctions de+1 fonctions de
pondération :pondération :
-- Les fonctions de pondérations sontfinies sur des intervalles [Les fonctions de pondérations sont définies sur des intervalles [ttkk, , ttk+1k+1]. ].
TT=(=(tt00, , tt11,..., ,..., ttnn+1+1) est appelé ) est appelé vecteur de points nodauxvecteur de points nodaux..
-- Les fonctions de pondération sont des Les fonctions de pondération sont des splines d'ordre splines d'ordre mm (des polynômes par(des polynômes par
morceaux continus d'ordre morceaux continus d'ordre mm--1 aux noeuds)1 aux noeuds)
)()(
00 tRPtRPP nn
91
BB--SplinesSplines
1 / 35 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !