Blossoming

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

La mise en forme de cet article est à améliorer ().

La mise en forme du texte ne suit pas les recommandations de Wikipédia : il faut le « wikifier ».

Dans la Modélisation géométrique, le principe du Blossoming établit un lien entre les points d'une courbe et ses points des contrôle. Il a été découvert en 1984 par Paul de Casteljau et publié par Lyle Ramshaw en 1987. Dans le cas d'arguments identiques (appelé la diagonale), le blossom (où floraison) détermine le point d'une courbe, dans le cas d'arguments consécutifs, un point de contrôle de cette courbe. En particulier, le blossoming relie les théories des courbes de Bézier et des courbes et surfaces B-spline, c'est-à-dire l'algorithme de Casteljau et l'algorithme de Boor.

Théorie générale

En mathématiques, particulièrement en Conception et fabrication assistées par ordinateur, on désigne comme Blossom b [ t 1 , , t n ] {\displaystyle {\bf {b}}[t_{1},\dots ,t_{n}]} du polynôme b ( t ) {\displaystyle {\bf {b}}(t)} une fonction avec n {\displaystyle n} arguments, définie par trois propriétés:

  • Elle est symétrique dans ses arguments:
b [ t 1 , , t n ] = b [ π ( t 1 , , t n ) ] , {\displaystyle {\bf {b}}[t_{1},\dots ,t_{n}]={\bf {b}}{\big [}\pi (t_{1},\dots ,t_{n}){\big ]},\,}
(où π {\displaystyle \pi } est une permutation arbitraire de ses arguments).
  • Elle est multi-affine, donc affine dans chacun de ses arguments:
b [ α r + β s , ] = α b [ r , ] + β b [ s , ] ,  avec  α + β = 1. {\displaystyle {\bf {b}}[\alpha r+\beta s,\dots ]=\alpha {\bf {b}}[r,\dots ]+\beta {\bf {b}}[s,\dots ],{\text{ avec }}\alpha +\beta =1.\,}
  • Elle satisfait à la propriété de la diagonale:
b [ t , , t ] = b ( t ) . {\displaystyle {\bf {b}}[t,\dots ,t]={\bf {b}}(t).\,}

Calcul

Comme tout polynôme symétrique rationnel se trouve dans t 1 , , t n {\displaystyle t_{1},\dots ,t_{n}} peut être écrit comme un polynôme symétrique élémentaire

σ 1 n = t 1 + t 2 + + t n {\displaystyle \sigma _{1}^{n}=t_{1}+t_{2}+\dots +t_{n}}
σ 2 n = t 1 t 2 + t 1 t 3 + + t 2 t 3 + + t n 1 t n {\displaystyle \sigma _{2}^{n}=t_{1}t_{2}+t_{1}t_{3}+\dots +t_{2}t_{3}+\dots +t_{n-1}t_{n}}
{\displaystyle \dots }
σ n n = t 1 t 2 t 3 t n {\displaystyle \sigma _{n}^{n}=t_{1}t_{2}t_{3}\dots t_{n}}

nous pouvons algébriquement trouver le blossom du polynôme

b ( t ) = a 0 + i = 1 n a i ( n i ) t n {\displaystyle {\bf {b}}(t)={\bf {a}}_{0}+\sum _{i=1}^{n}{\bf {a}}_{i}{\binom {n}{i}}t^{n}}

comme

b [ t 1 , , t n ] = a 0 + i = 1 n a i σ i n {\displaystyle {\bf {b}}[t_{1},\dots ,t_{n}]={\bf {a}}_{0}+\sum _{i=1}^{n}{\bf {a}}_{i}\sigma _{i}^{n}}

Exemple

Le blossom d'un polynôme quartique

x ( t )   =   a 0 ( 4 0 ) t 0 + a 1 ( 4 1 ) t 1 + a 2 ( 4 2 ) t 2 + a 3 ( 4 3 ) t 3 + a 4 ( 4 4 ) t 4 =   a 0 + 4 a 1 t + 6 a 2 t 2 + 4 a 3 t 3 + a 4 t 4 {\displaystyle {\begin{aligned}{\bf {x}}(t)\ &=\ {\bf {a}}_{0}{\binom {4}{0}}t^{0}+{\bf {a}}_{1}{\binom {4}{1}}t^{1}+{\bf {a}}_{2}{\binom {4}{2}}t^{2}+{\bf {a}}_{3}{\binom {4}{3}}t^{3}+{\bf {a}}_{4}{\binom {4}{4}}t^{4}\\&=\ {\bf {a}}_{0}+4{\bf {a}}_{1}t+6{\bf {a}}_{2}t^{2}+4{\bf {a}}_{3}t^{3}+{\bf {a}}_{4}t^{4}\end{aligned}}}

est le polynôme symétrique et 4-affine

x [ t 1 , , t 4 ] = a 0 + a 1 ( t 1 + t 2 + t 3 + t 4 ) + a 2 ( t 1 t 2 + t 1 t 3 + t 1 t 4 + t 2 t 3 + t 2 t 4 + t 3 t 4 ) + a 3 ( t 1 t 2 t 3 + t 1 t 2 t 4 + t 1 t 3 t 4 + t 2 t 3 t 4 ) + a 4 ( t 1 t 2 t 3 t 4 ) {\displaystyle {\begin{aligned}{\bf {x}}[t_{1},\dots ,t_{4}]={\bf {a}}_{0}&+{\bf {a}}_{1}(t_{1}+t_{2}+t_{3}+t_{4})\\&+{\bf {a}}_{2}(t_{1}t_{2}+t_{1}t_{3}+t_{1}t_{4}+t_{2}t_{3}+t_{2}t_{4}+t_{3}t_{4})\\&+{\bf {a}}_{3}(t_{1}t_{2}t_{3}+t_{1}t_{2}t_{4}+t_{1}t_{3}t_{4}+t_{2}t_{3}t_{4})\\&+{\bf {a}}_{4}(t_{1}t_{2}t_{3}t_{4})\end{aligned}}}

Applications

Blossoming d'une Courbe de Bézier

Algorithme de de Casteljau pour une courbe de Bézier du 3e degré

L'exemple d'une courbe de Bézier de degré n = 3 {\displaystyle n=3} montre clairement, comment le blossoming permet de déterminer à la fois les points de la courbe (dans l'image b 0 {\displaystyle {\bf {b}}_{0}} et b 3 {\displaystyle {\bf {b}}_{3}} ) et les points de contrôle (dans l'image b 1 {\displaystyle {\bf {b}}_{1}} et b 2 {\displaystyle {\bf {b}}_{2}} )


Le Blossom de la courbe de Bézier

b ( t )   =   i = 0 3 ( 3 i ) t i ( 1 t ) 3 i b i =   ( 1 t ) 3 b 0 + 3 t ( 1 t ) 2 b 1 + 3 t 2 ( 1 t ) b 2 + t 3 b 3 {\displaystyle {\begin{aligned}{\bf {b}}(t)\ &=\ \sum _{i=0}^{3}{\binom {3}{i}}t^{i}(1-t)^{3-i}{\bf {b}}_{i}\\&=\ (1-t)^{3}{\bf {b}}_{0}+3t(1-t)^{2}{\bf {b}}_{1}+3t^{2}(1-t){\bf {b}}_{2}+t^{3}{\bf {b}}_{3}\end{aligned}}}

est le polynôme symétrique et tri-affine

b [ t 1 , t 2 , t 3 ] = b 0 ( 1 t 1 ) ( 1 t 2 ) ( 1 t 3 ) + b 1 t 1 ( 1 t 2 ) ( 1 t 3 ) + b 2 t 1 t 2 ( 1 t 3 ) + b 3 ( t 1 t 2 t 3 ) {\displaystyle {\begin{aligned}{\bf {b}}[t_{1},t_{2},t_{3}]&={\bf {b}}_{0}(1-t_{1})(1-t_{2})(1-t_{3})\\&+{\bf {b}}_{1}t_{1}(1-t_{2})(1-t_{3})\\&+{\bf {b}}_{2}t_{1}t_{2}(1-t_{3})\\&+{\bf {b}}_{3}(t_{1}t_{2}t_{3})\end{aligned}}}

Si nous insérons des valeurs spéciales pour t 1 , t 2 , t 3 {\displaystyle t_{1},t_{2},t_{3}} , on obtient

b 000 := b [ 0 , 0 , 0 ] = b 0 b 001 = b 1 b 011 = b 2 b 111 = b 3 {\displaystyle {\begin{aligned}{\bf {b}}_{000}:={\bf {b}}[0,0,0]&={\bf {b}}_{0}\\{\bf {b}}_{001}&={\bf {b}}_{1}\\{\bf {b}}_{011}&={\bf {b}}_{2}\\{\bf {b}}_{111}&={\bf {b}}_{3}\\\end{aligned}}}


Plus encore, nous pouvons également calculer directement les points intermédiaires de l'algorithme de Casteljau sous forme de

b 00 t := b [ 0 , 0 , t ] = b 0 1 b 0 t 1 = b 1 1   b 0 t t = b 0 2 b t 11 = b 2 1   b t t 1 = b 1 2   b t t t = b 0 3 = b ( t ) {\displaystyle {\begin{aligned}{\bf {b}}_{00t}:={\bf {b}}[0,0,t]&={\color {Green}{\bf {b}}_{0}^{1}}\\{\bf {b}}_{0t1}&={\color {Green}{\bf {b}}_{1}^{1}}\ &{\bf {b}}_{0tt}&={\color {Blue}{\bf {b}}_{0}^{2}}\\{\bf {b}}_{t11}&={\color {Green}{\bf {b}}_{2}^{1}}\ &{\bf {b}}_{tt1}&={\color {Blue}{\bf {b}}_{1}^{2}}\ &{\bf {b}}_{ttt}&={\color {Red}{\bf {b}}_{0}^{3}={\bf {b}}(t)}\\\end{aligned}}}

Blossoming d'une Spline

Nous assemblons des courbes polynomiales par morceaux pour obtenir la courbe Spline.

s ( u )   =   i = 1 n c i N i n ( u )   {\displaystyle {\begin{aligned}{\bf {s}}(u)\ &=\ \sum _{i=1}^{n}{\bf {c}}_{i}N_{i}^{n}(u)\ \end{aligned}}}

avec B-splines N i n {\displaystyle N_{i}^{n}} . Si l'on met bout à bout les intervalles de paramètres sous-jacents, on obtient une séquence de nœuds u 1 , u 2 , , u n {\displaystyle u_{1},u_{2},\dots ,u_{n}} . Le blossoming sur les sous-intervalles conduit aux courbes de Bézier respectives ou aux points de contrôle de l'algorithme de Casteljau, soit par exemple

s 333 := s [ u 3 , u 3 , u 3 ] = b 0 s 334 = b 1 s 344 = b 2 s 444 = b 3 {\displaystyle {\begin{aligned}{\bf {s}}_{333}:={\bf {s}}[u_{3},u_{3},u_{3}]&={\bf {b}}_{0}\\{\bf {s}}_{334}&={\bf {b}}_{1}\\{\bf {s}}_{344}&={\bf {b}}_{2}\\{\bf {s}}_{444}&={\bf {b}}_{3}\\\end{aligned}}}


Le blossoming au-delà des sous-intervalles conduit aux points de contrôle de l'algorithme de de Boor:

s 123 := s [ u 1 , u 2 , u 3 ] = c 0 s 234 = c 1 s 345 = c 2 s 456 = c 3 {\displaystyle {\begin{aligned}{\bf {s}}_{123}:={\bf {s}}[u_{1},u_{2},u_{3}]&={\bf {c}}_{0}\\{\bf {s}}_{234}&={\bf {c}}_{1}\\{\bf {s}}_{345}&={\bf {c}}_{2}\\{\bf {s}}_{456}&={\bf {c}}_{3}\\\end{aligned}}}

Blossom et Osculante

Pour une courbe polynomiale x ( t ) {\displaystyle {\bf {x}}(t)} de degré n, nous définissons

Δ a x ( t ) := x ( t ) + x ˙ ( t ) a t n {\displaystyle \Delta _{a}{\bf {x}}(t):={\bf {x}}(t)+{\bf {\dot {x}}}(t){\frac {a-t}{n}}}

comme la première osculante de x ( t ) {\displaystyle {\bf {x}}(t)} au nœud a {\displaystyle a} . C'est une courbe polynomiale de degré n 1 {\displaystyle n-1} en t {\displaystyle t} et n'a en commun avec x ( t ) {\displaystyle {\bf {x}}(t)} que le point x ( a ) {\displaystyle {\bf {x}}(a)} où les courbes ont un contact d'ordre n 1 {\displaystyle n-1} .


Pour Δ a b f x {\displaystyle \Delta _{a}{bfx}} , il est possible de déterminer une nouvelle osculante au nœud b {\displaystyle b} . C'est la deuxième oscillante de x {\displaystyle {\bf {x}}} aux nœuds a {\displaystyle a} et b {\displaystyle b}  :

Δ a b x =   Δ b ( Δ a x ) =   Δ b x + Δ b ( x ˙ ( t ) a t n ) =   x + x ˙ ( a t ) + ( b t ) n + x ¨ ( a t ) ( b t ) n 1 {\displaystyle {\begin{aligned}\Delta _{ab}{\bf {x}}&=\ \Delta _{b}(\Delta _{a}{\bf {x}})\\&=\ \Delta _{b}{\bf {x}}+\Delta _{b}{\big (}{\bf {\dot {x}}}(t){\frac {a-t}{n}}{\big )}\\&=\ {\bf {x}}+{\bf {\dot {x}}}{\frac {(a-t)+(b-t)}{n}}+{\bf {\ddot {x}}}{\frac {(a-t)(b-t)}{n-1}}\end{aligned}}}

Propriétés des Osculantes

Les Osculantes possèdent les propriétés suivantes:

  • Elles sont symétriques dans les nœuds:
Δ a b x = Δ b a x {\displaystyle \Delta _{ab}{\bf {x}}=\Delta _{ba}{\bf {x}}}
  • Elles sont affines dans les nœuds: De   a = p ( 1 t ) + q t {\displaystyle \ a=p\cdot (1-t)+q\cdot t} découle
Δ a x = ( 1 t ) Δ p x + t Δ q x {\displaystyle \Delta _{a}{\bf {x}}=(1-t)\cdot \Delta _{p}{\bf {x}}+t\cdot \Delta _{q}{\bf {x}}}
  • Leur diagonale est identique à la courbe:
Δ t n x = Δ t t x = x ( t ) {\displaystyle \Delta _{t}^{n}{\bf {x}}=\Delta _{t\dots t}{\bf {x}}={\bf {x}}(t)}

Les osculants ont été introduits en 1886 par Stanislaus Jolles dans sa thèse d'habilitation. Dans le cas paramétrique, ils sont identiques aux blossoms de de Casteljau et Ramshaw et peuvent être facilement déduits par blossoming : Pour une courbe de Bézier cubique avec les points de contrôle b 000 , b 001 , b 011 , b 111 {\displaystyle {\bf {b}}_{000},{\bf {b}}_{001},{\bf {b}}_{011},{\bf {b}}_{111}} , l'osculante au nœud t {\displaystyle t} est définie par les points de contrôle de Bézier suivants : b 00 t , b 0 t 1 , b t 11 {\displaystyle {\bf {b}}_{00t},{\bf {b}}_{0t1},{\bf {b}}_{t11}} .

Références

  • Stanislaus Jolles, Die Theorie der Osculanten und das Sehnensystem der Raumcurve IV. Ordnung II. Species; Ein Beitrag zur Theorie der rationalen Ebenenbüschel, Aachen, J. A. Mayer,
  • Paul de Casteljau, Formes à Pôles, Hermès, coll. « Mathématiques et CAO »,
  • Paul de Casteljau, Mathematical methods in computer aided geometric design II, Academic Press Professional, Inc., (ISBN 978-0-12-460510-7), « POLynomials, POLar Forms, and InterPOLation »
  • Lyle Ramshaw, Blossoming: A Connect-the-Dots Approach to Splines, Digital Systems Research Center,
  • Lyle Ramshaw, Blossoms are polar forms, Digital Systems Research Center,
  • Gerald Farin, Curves and Surfaces for CAGD: A Practical Guide, Morgan Kaufmann, , 5e éd. (ISBN 1-55860-737-4)
  • Marie-Laurence Mazure, Blossoming stories, Numerical Algorithms, , p. 257-288
  • icône décorative Portail de la géométrie