Professional Documents
Culture Documents
CHAPITRE IV
Courbes B-Splinaires et NURBS
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 2
1- Courbes B-Splines
Nous passons maintenant à la définition de courbes utilisant les
fonctions de base définie précédemment. Une courbe B-Spline de
degré p est définie comme:
n
X
C(u) = Ni,p (u)Pi a ≤ u ≤ b
i=0
où l’ensemble des {Pi } sont les points de contrôle et les {Ni,p (u)}
sont les fonctions de base B-Splinaires de degré p définies sur le
vecteur nodal non-périodique (et non-uniforme):
comprenant m + 1 noeuds.
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 3
Évaluation de la courbe
Le calcul d’un point sur la courbe B-Spline pour une valeur de u
donnée implique les étapes suivantes:
1. Déterminer l’intervalle qui contient u,
2. Calculer les fonctions de base non-nulles,
3. Multiplier les valeurs des fonctions de bases non-nulles par les
coordonnées des points correspondants.
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 4
m=n+p+1
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 5
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 6
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 7
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 8
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 9
n−1
!
X Pi+1
= p Ni+1,p−1
i=−1
ui+p+1 − ui+1
n
!
X Pi
− p Ni+1,p−1
i=0
ui+p+1 − ui+1
n−1
X (Pi+1 − Pi )
= p Ni+1,p−1
i=0
ui+p+1 − ui+1
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 10
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 11
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 12
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 13
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 14
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 15
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 16
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 17
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 18
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 19
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 20
7- Coordonnées homogènes
Les coordonnées homogènes fournissent une autre méthode très
pratique pour représenter les courbes NURBS.
Si l’on considère P un point dans l’espace euclidien P = (x, y, z),
on peut écrire P comme P w = (wx, wy, wz, w) = (X, Y, Z, W )
dans un espace quadri-dimensionnel, w 6= 0.
P est ainsi obtenu en divisant les coordonnées de P w par w,
c’est-à-dire en faisant une application de P w à partir de l’origine
sur l’hyperplan W = 1.
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 21
Coordonnées homogènes
Si nous notons cette application H, il s’agit d’une application
perspective avec son centre à l’origine:
P = H{P w } = H{(X, Y, Z, W )}
(X, Y , Z ) si W 6= 0
W W W
=
direction(X, Y, Z) si W = 0
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 22
Coordonnées homogènes
La courbe NURBS peut dorénavant s’écrire comme une courbe
polynomiale (non-rationnelle) en quatre dimensions:
n
X
C w (u) = Ni,p (u)Piw
i=0
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 23
Interprétation géométrique de la
coordonnée homogène
Si l’on considère l’espace homogène à trois dimensions (X, Y, W ),
on peut illustrer l’application H qui transforme la courbe C w (u)
définie dans l’espace homogène en une courbe rationnelle dans
l’espace euclidien.
W
w=1
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 24
INF6800–
François
c Guibault– 2003
IV – Courbes B-Splinaires et NURBS
IV – 25
INF6800–
François
c Guibault– 2003