Upload
noele-josse
View
102
Download
0
Embed Size (px)
Citation preview
1
Surfaces bicubiquesde
HermiteTiré de Michael E. Mortenson, Geometric Modeling. Wiley, 1997, 523p.
2
Forme algébrique des surfaces bicubiques de Hermite
u, v [0, 1]
Sous forme matricielle, on obtient :
P = Ut A V où Ut = [u3 u2 u 1], Vt = [v3 v2 v 1],
a33 a32 a31 a30
A = a23 a22 a21 a20
a13 a12 a11 a10
a03 a02 a01 a00
Chacun des aij possède 3 coordonnées aijx, aijy et aijz ce qui donne au total 16 x 3=48coefficients scalaires algébriques et A est en fait une matrice 4 x 4 x 3.
Cette représentation est inappropriée pour l’animateur : on ne peut lui demander dedéfinir une telle surface en fixant ces 48 coefficients algébriques.
P
3
Forme géométrique des surfaces bicubiques de Hermite
Notation :
Puv P(u, v)
Puuv P(u, v)
u u = uv = v
Pvuv P(u, v)
v u = uv = v
La surface est définie à partir de :ses 4 courbes frontières : les sommets P(0,0), P(0,1), P(1,0) et P(1,1),
les vecteurs tangents aux 4 sommets
Pu00, P
u01, P
u10 et Pu
11,
Pv00, P
v01, P
v10 et Pv
11,
des vecteurs de torsion aux 4 sommets : Puv00, P
uv01, P
uv10 et Puv
11.
Puvuv 2P(u, v)
u v u = uv = v
4
Forme géométrique des surfaces bicubiques de Hermite
C’est une surface délimitée par 4 courbes de Hermite de degré 3 :
La fixation de l'un des 2 paramètres donne une courbe de Hermite de degré 3 enfonction de l'autre paramètre. La surface est donc constituée d'un réseau de 2familles de courbes de Hermite de telle sorte qu'une seule courbe de chacune des 2familles passe par chaque point P(u, v) .
P(u, 0) Pu0 = [P00 P10 Pu00 Pu
10] M U P(u, 1) Pu1 = [P01 P11 Pu01 Pu
11] M UP(0, v) P0v = [P00 P01 Pv
00 Pv01] M V P(1, v) P1v = [P10 P11 Pv
10 Pv11] M V.
Les vecteurs tangents à la surface en un point P(ui, vj) sont donnés par:
Ceci constitue un plan tangentà la surface.
Puuivj
P(u, v)
u u = uiv = vj
Pvuivj
P(u, v)
v u = uiv = vj
5
Surfaces paramétriques de degré 3La formulation géométrique matricielle est donnée par Michael E. Mortenson :
P(u, v) = Ut Mt B M V avec M =
où
A = Mt B M ou encore B = (Mt) -1 A M-1
P(u,0) P(u,1)
P(0,v)
P(1,v)= B
2 –3 0 1-2 3 0 01 -2 1 01 -1 0 0
Il s’ensuit que :
Ut = [u3 u2 u 1],
Vt = [v3 v2 v 1],
6
Calcul de Pu(u, v) et Pv(u, v) Pu(u, v) = U
t Nt B M V avec N = 0 6 -6 0
0 -6 6 00 3 -4 10 3 -2 0
Ut = [u3 u2 u 1],
Vt = [v3 v2 v 1],Pv(u, v) = U
t Mt B N V
Puv(u, v) = Ut N
t B N V
Il s’ensuit que :
Pu(0, v) Pu0v = [Pu
00 Pu01 Puv
00 Puv01] M V
Pu(1, v) Pu1v = [Pu
10 Pu11 Puv
10 Puv11] M V
Pv(u, 0) Pvu0 = [Pv
00 Pv10 Puv
00 Puv10] M U
Pv(u, 1) Pvu1 = [Pv
01 Pv11 Puv
01 Puv11] M U.
P(u,0) P(u,1) Pv(u,0) Pv(u,1)
P(0,v)
P(1,v)
Pu(0,v)
Pu(1,v)
= B
7
Calcul d’une courbe intermédiaire P(u, v)1. Calcul de P(u, 0) Pu0 = [P00 P10 Pu
00 Pu10] M U et
P(u, 1) Pu1 = [P01 P11 Pu01 Pu
11] M U.
2. Calcul de Pv(u, 0) Pvu0 = [Pv
00 Pv10 Puv
00 Puv10] M U
Pv(u, 1) Pvu1 = [Pv
01 Pv11 Puv
01 Puv11] M
U. P(u, v) Puv = [P(u, 0) P(u, 1) Pv(u, 0) Pv(u, 1)] M V.
8
Subdivision exacte d’une surface bicubique en 9 sous-surfaces bicubiques
Nouvellesurface Q
deHermite
w = 1
w = 0
vl
vk
9
Subdivision exacte d’une surface bicubique en 9 sous-surfaces bicubiques
Q00 = Pik
Q10 = Pjk
Q01 = Pil
Q11 = Pjl
Qt00 = (uj - ui) Pu
ik
Qt10 = (uj - ui) Pu
jk
Qt01 = (uj - ui) Pu
il
Qt11 = (uj - ui) Pu
jl
Qw00 = (vl - vk) Pv
ik
Qw10 = (vl - vk) Pv
jk
Qw01 = (vl - vk) Pv
il
Qw11 = (vl - vk) Pv
jl
Qtw00 = (uj - ui) (vl - vk) Puv
ik
Qtw10 = (uj - ui) (vl - vk) Puv
jk
Qtw01 = (uj - ui) (vl - vk) Puv
il
Qtw11 = (uj - ui) (vl - vk) Puv
jl
Passage de [ui, uj] x [vk, vl] à [0, 1] x [0, 1] Reparamétrisation
10
Propriétés des surfaces bicubiquesVecteur normal à la surface
Soit P(u, v) une telle surface, le vecteur normal unitaire à la surface P(u, v)au point (u, v) est de la forme suivante:
N(u, v) = (Pu x Pv) / || Pu x Pv ||
où Pu x Pv = (puy pv
z - pvy pu
z ) (pu
z pvx - pu
x pvz )
(pux pv
y - puy pv
x )
avec Pu (pux , pv
y , puz ) et Pv (pv
x , pvy , pv
z ).
P(1,0) P(0,0)
P(1,1) P(0,1)
n(u,v)
u=1u=0
v=0
v=1
pu
pv
11
Surfaces bicubiques particulières
Surface plane définie à l’aide d’un point Q et de 2 vecteurs r et s | | au plan
Cette surface plane a la forme suivante: P(u,v) = Q + u r + v s, u,v [0,1]
où Q Q + s s s
B = Q+r Q+r+s s sr r 0 0r r 0 0
12
Surfaces bicubiques particulières
Surface cylindrique
Un segment de droite Q0Q1 se déplace sur la courbe de Hermite P(u), u [0,1]tout en conservant une direction constante:
P(u) + v (Q1 - Q0) u,v [0,1] avec P(0) = Q0.
Q0 Q1 Q1- Q0 Q1- Q0
B = P(1) P(1) + Q1- Q0 Q1- Q0 Q1- Q0
pu0 pu
0 0 0pu
1 pu1 0 0
segment
13
Surfaces bicubiques particulières
P(0) Q(0) Q(0) – P(0) Q(0) – P(0) B = P(1) Q(1) Q(1) – P(1) Q(1) – P(1)
Pu0 Qu
0 0 0Pu
1 Qu1 0 0
Cas spécial : Lorsque les 2 courbes de Hermite sont des segments de droite, nous avons un paraboloïde hyperbolique.
Surface guidée
Il s’agit de joindre 2 courbes de Hermite P(u) et Q(u) par le segment de droiteP(u) – Q(u) pour tout u dans [0,1].