Blossoming
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 était 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
,
…
]
,
mit
α
+
β
=
1.
{\displaystyle {\bf {b}}[\alpha r+\beta s,\dots ]=\alpha {\bf {b}}[r,\dots ]+\beta {\bf {b}}[s,\dots ],{\text{ mit }}\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 toute polynôme symétrique rationelle 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
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, 1886
Paul de Casteljau , Formes à Pôles , Hermès, coll. « Mathématiques et CAO », 1985
Paul de Casteljau , Mathematical methods in computer aided geometric design II , Academic Press Professional, Inc., 1992 (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, 1987
Lyle Ramshaw, Blossoms are polar forms , Digital Systems Research Center, 1989
Gerald Farin, Curves and Surfaces for CAGD: A Practical Guide , Morgan Kaufmann, 2001 , 5e éd. (ISBN 1-55860-737-4 )
Marie-Laurence Mazure, Blossoming stories , Numerical Algorithms, 2005 , p. 257-288
Cet article est issu de
wikipedia . Text licence:
CC BY-SA 4.0 , Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.