Das Blossoming-Prinzip stellt im Computer Aided Geometric Design eine Verbindung von Punkten einer Kurve und ihren Kontrollpunkten her. Es wurde 1984 von Paul de Casteljau entdeckt und 1987 von Lyle Ramshaw veröffentlicht.[1]
Im Falle von identischen Argumenten (der sog. Diagonalen) bestimmt das Blossom den Punkt einer Kurve, im Fall von konsekutiven Argumenten einen Kontrollpunkt dieser Kurve.
Insbesondere verbindet das Blossoming die Theorien für Bézierkurven und B-Spline-Kurven und -Flächen, mithin den de-Casteljau-Algorithmus mit dem de-Boor-Algorithmus.
Definition
Als Blossom
des Polynoms
wird in der Mathematik, insbesondere im Computer Aided Design, eine Funktion mit
Argumenten bezeichnet, die durch drei Eigenschaften definiert ist:
- Sie ist symmetrisch in ihren Argumenten:
![{\displaystyle {\bf {b}}[t_{1},\dots ,t_{n}]={\bf {b}}{\big [}\pi (t_{1},\dots ,t_{n}){\big ]},\,}](./c0a3e3bb67e24cb2d1385bacb55cfc53d8e2a8c9.svg)
- (wobei
eine beliebige Permutation ihrer Argumente ist).
- Sie ist multi-affin, also affin in jedem ihrer Argumente:
![{\displaystyle {\bf {b}}[\alpha r+\beta s,\dots ]=\alpha {\bf {b}}[r,\dots ]+\beta {\bf {b}}[s,\dots ],{\text{ mit }}\alpha +\beta =1.\,}](./c5ff7cefe03f81e2e8cc35a12ef42f3003f09e3a.svg)
- Sie erfüllt die Diagonal-Eigenschaft:
![{\displaystyle {\bf {b}}[t,\dots ,t]={\bf {b}}(t).\,}](./c77a27eabb75ff363c560a5487e0049e2e1b8241.svg)
Berechnung
Da sich jede rationale symmetrische Funktion in
als ein Polynom in den elementarsymmetrischen Funktionen




schreiben lässt, können wir das Blossom des Polynoms

algebraisch finden als
![{\displaystyle {\bf {b}}[t_{1},\dots ,t_{n}]={\bf {a}}_{0}+\sum _{i=1}^{n}{\bf {a}}_{i}\sigma _{i}^{n}}](./8fcedb0f20ab30ee966f36c0bc0d2d6d976ccad1.svg)
Beispiel
Das Blossom des quartischen Polynoms

ist das symmetrische, 4-affine Polynom
![{\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}}}](./0e7e27904838d6a163185767f14d517e3da74847.svg)
Anwendung
Blossoming einer Bézierkurve
Am Beispiel einer Bézierkurve vom Grad
wird deutlich, wie mittels Blossoming sowohl Kurvenpunkte (im Bild
und
) als auch Kontrollpunkte (im Bild
und
) ermittelt werden können.
Das Blossom der Bézierkurve

ist das symmetrische tri-affine Polynom
![{\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})+(1-t_{1})t_{2}(1-t_{3})+(1-t_{1})(1-t_{2})t_{3}]\\&+{\bf {b}}_{2}[t_{1}t_{2}(1-t_{3})+t_{1}(1-t_{2})t_{3}+(1-t_{1})t_{2}t_{3}]\\&+{\bf {b}}_{3}t_{1}t_{2}t_{3}\end{aligned}}}](./9b8b9df6b57861f4f374e61311a7323f0aa4eb15.svg)
Setzen wir für
spezielle Werte ein, so ergibt sich:
![{\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}}}](./83a6fb31d11f438dd3b357996af7d33ebfd2821d.svg)
Mehr noch, wir können auch die Zwischenpunkte des de-Casteljau-Algorithmus direkt berechnen als:
![{\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}}}](./521f236f3d32e6da3d98200c7f7503196a6fab9e.svg)
Blossoming einer B-Splinekurve
Wir fügen polynomiale Kurven stückweise zusammen zur B-Spline-Kurve

mit B(asis)-Splines
. Fügt man die zugrundeliegenden Parameter-Intervalle aneinander, so ergeben sie eine Knotenfolge
. Blossoming auf den Teilintervallen führt zu den jeweiligen Bézierkurven bzw. den Kontrollpunkten des de-Casteljau-Algorithmus, also etwa
![{\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}}}](./403f692b37a96cc32eafb900727c587dbe48e972.svg)
Blossoming über die Teilintervalle hinaus führt zu den Kontrollpunkten des de-Boor-Algorithmus:
![{\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}}}](./dd8848955b263749efe1e0cbbba4d7125fb99678.svg)
Blossom und Oskulante
Zu einer polynomialen Kurve
vom Grad n definieren wir

als die erste Oskulante von
zum Knoten
. Sie ist eine polynomiale Kurve vom Grad
in
und hat mit
nur den Punkt
gemeinsam, an welchem die Kurven einen Kontakt der Ordnung
haben.
Zu
lässt sich zu einem Knoten
erneut eine Oskulante bestimmen. Sie ist die zweite Oskulante von
zu den Knoten
und
:

Eigenschaften der Oskulante
Oskulanten besitzen folgende Eigenschaften:
- Sie sind symmetrisch in den Knoten:

- Sie sind affin in den Knoten: Aus
folgt

- Ihre Diagonale ist identisch mit der Kurve:

Oskulanten wurden 1886 von Stanislaus Jolles in seiner Habilitationsschrift eingeführt. Sie sind im parametrischen Fall identisch mit den Blossoms von de Casteljau und Ramshaw und lassen sich mittels Blossoming einfach herleiten:
Für eine kubische Bézierkurve mit den Kontrollpunkten
wird die Oskulante zum Knoten
durch die folgenden Bézier-Kontrollpunkte definiert:
Literatur
- Lyle Ramshaw: Blossoming: A Connect-the-Dots Approach to Splines. Hrsg.: Digital Systems Research Center. 1987 (hp.com).
- Lyle Ramshaw: Blossoms are polar forms. Hrsg.: Digital Systems Research Center. 1989 (hp.com).
- Paul de Casteljau: Mathematical methods in computer aided geometric design II. Hrsg.: Larry L. Schumaker, Tom Lyche. Academic Press Professional, Inc., 1992, ISBN 978-0-12-460510-7, POLynomials, POLar Forms, and InterPOLation (englisch).
- Gerald Farin: Curves and Surfaces for CAGD: A Practical Guide. 5. Auflage. Morgan Kaufmann, 2001, ISBN 1-55860-737-4 (englisch).
- Stanislaus Jolles: Die Theorie der Osculanten und das Sehnensystem der Raumcurve IV. Ordnung II. Species. Ein Beitrag zur Theorie der rationalen Ebenenbüschel. J. A. Mayer, Aachen 1886 (Habilitation).
Einzelnachweise
- ↑ Lyle Ramshaw: Blossoming: A Connect-the-Dots Approach to Splines. (PDF) Digital Systems Research Center, 1987, abgerufen am 15. Februar 2022.