Surfaces bicubiques de Hermite Tiré de Michael E. Mortenson, Geometric Modeling. Wiley, 1997, 523p.
Forme algébrique des surfaces bicubiques de Hermite P 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=48 coefficients 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 de définir une telle surface en fixant ces 48 coefficients algébriques.
Forme géométrique des surfaces bicubiques de Hermite Notation : Puv P(u, v) Puuv P(u, v) u u = u v = v Pvuv P(u, v) v u = u v = v Puvuv 2P(u, v) u v u = u v = 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, Pu01, Pu10 et Pu11, Pv00, Pv01, Pv10 et Pv11, des vecteurs de torsion aux 4 sommets : Puv00, Puv01, Puv10 et Puv11.
Forme géométrique des surfaces bicubiques de Hermite C’est une surface délimitée par 4 courbes de Hermite de degré 3 : P(u, 0) Pu0 = [P00 P10 Pu00 Pu10] M U P(u, 1) Pu1 = [P01 P11 Pu01 Pu11] M U P(0, v) P0v = [P00 P01 Pv00 Pv01] M V P(1, v) P1v = [P10 P11 Pv10 Pv11] M V. La fixation de l'un des 2 paramètres donne une courbe de Hermite de degré 3 en fonction de l'autre paramètre. La surface est donc constituée d'un réseau de 2 familles de courbes de Hermite de telle sorte qu'une seule courbe de chacune des 2 familles passe par chaque point P(u, v) . Les vecteurs tangents à la surface en un point P(ui, vj) sont donnés par: Puuivj P(u, v) u u = ui v = vj Ceci constitue un plan tangent à la surface. Pvuivj P(u, v) v u = ui v = vj
Surfaces paramétriques de degré 3 La formulation géométrique matricielle est donnée par Michael E. Mortenson : P(u, v) = Ut Mt B M V avec M = où 2 –3 0 1 -2 3 0 0 1 -2 1 0 1 -1 0 0 Ut = [u3 u2 u 1], Vt = [v3 v2 v 1], P(u,0) P(u,1) P(0,v) P(1,v) = B Il s’ensuit que : A = Mt B M ou encore B = (Mt) -1 A M-1
Calcul de Pu(u, v) et Pv(u, v) 0 6 -6 0 0 -6 6 0 0 3 -4 1 0 3 -2 0 Ut = [u3 u2 u 1], Vt = [v3 v2 v 1], Pu(u, v) = Ut Nt B M V avec N = Pv(u, v) = Ut Mt B N V Puv(u, v) = Ut Nt B N V Il s’ensuit que : Pu(0, v) Pu0v = [Pu00 Pu01 Puv00 Puv01] M V Pu(1, v) Pu1v = [Pu10 Pu11 Puv10 Puv11] M V Pv(u, 0) Pvu0 = [Pv00 Pv10 Puv00 Puv10] M U Pv(u, 1) Pvu1 = [Pv01 Pv11 Puv01 Puv11] M U. P(u,0) P(u,1) Pv(u,0) Pv(u,1) P(0,v) P(1,v) = B Pu(0,v) Pu(1,v)
Calcul d’une courbe intermédiaire P(u, v) 1. Calcul de P(u, 0) Pu0 = [P00 P10 Pu00 Pu10] M U et P(u, 1) Pu1 = [P01 P11 Pu01 Pu11] M U. 2. Calcul de Pv(u, 0) Pvu0 = [Pv00 Pv10 Puv00 Puv10] M U Pv(u, 1) Pvu1 = [Pv01 Pv11 Puv01 Puv11] M U. P(u, v) Puv = [P(u, 0) P(u, 1) Pv(u, 0) Pv(u, 1)] M V.
Subdivision exacte d’une surface bicubique en 9 sous-surfaces bicubiques vl w = 1 Nouvelle surface Q de Hermite vk w = 0
Subdivision exacte d’une surface bicubique en 9 sous-surfaces bicubiques Passage de [ui, uj] x [vk, vl] à [0, 1] x [0, 1] Reparamétrisation Q00 = Pik Q10 = Pjk Q01 = Pil Q11 = Pjl Qt00 = (uj - ui) Puik Qw00 = (vl - vk) Pvik Qt10 = (uj - ui) Pujk Qw10 = (vl - vk) Pvjk Qt01 = (uj - ui) Puil Qw01 = (vl - vk) Pvil Qt11 = (uj - ui) Pujl Qw11 = (vl - vk) Pvjl Qtw00 = (uj - ui) (vl - vk) Puvik Qtw10 = (uj - ui) (vl - vk) Puvjk Qtw01 = (uj - ui) (vl - vk) Puvil Qtw11 = (uj - ui) (vl - vk) Puvjl
Propriétés des surfaces bicubiques Vecteur 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 pvz - pvy puz ) (puz pvx - pux pvz ) (pux pvy - puy pvx ) avec Pu = (pux , pvy , puz ) et Pv = (pvx , pvy , pvz ).
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 s r r 0 0
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 pu0 0 0 pu1 pu1 0 0 segment
Surfaces bicubiques particulières Surface guidée Il s’agit de joindre 2 courbes de Hermite P(u) et Q(u) par le segment de droite P(u) – Q(u) pour tout u dans [0,1]. 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 Qu0 0 0 Pu1 Qu1 0 0 Cas spécial : Lorsque les 2 courbes de Hermite sont des segments de droite, nous avons un paraboloïde hyperbolique.