Tensorprodukt-Bezierfläche und ihr Kontrollnetz (blau)
In der Geometrie sind Bezierflächen Flächen im , die als räumliche Verallgemeinerungen von Bezierkurven definiert werden. Dabei geht man im Wesentlichen zwei Wege einer Verallgemeinerung. Dies führt auf:
Tensorprodukt-Bezierflächen. Es werden Produkte von Bernstein-Polynomen verwendet.
Dreiecks-Bezierflächen. Es werden Bernstein-Polynome für baryzentrische Koordinaten eingeführt.
Bezierflächen spielen in den Bereichen Computergraphik und ComputerAidedDesign eine wesentliche Rolle beim Modellieren von Freiformflächen[1][2].
Inhaltsverzeichnis
1Tensorprodukt-Bezierflächen
1.1Definition
1.2Der Casteljau-Algorithmus
1.3Graderhöhung
1.4Ableitungen einer Bezier-Fläche
2Dreiecks-Bezierflächen
2.1Motivation und Definition
2.2De-Casteljau-Algorithmus
3Einzelnachweise
4Literatur
Tensorprodukt-Bezierflächen
Definition
Es sei eine Bezierkurve im , deren Kontrollpunkte von einem weiteren Parameter abhängen, und zwar sollen sie selbst auf Bezierkurven liegen: . Damit beschreibt
eine Fläche, die zu den Kontrollpunkten oder Kontrollnetz gehörige (m,n)-Tensorprodukt-Bezierfläche[3]. Die Fläche enthält die Punkte und die Parameter-Kurven ( oder sind konstant), insbesondere die Randkurven, sind Bezierkurven.
Man beachte, dass eine -Tensorprodukt-Bezierfläche zwar Geraden enthält, aber i.a. nicht eben ist. Z.B. erhält man für
die Fläche mit der Parameterdarstellung
Dies ist ein Teil des hyperbolischen Paraboloids mit der Gleichung .
Der Casteljau-Algorithmus
Die Grundidee des Casteljau-Algorithmus für Kurven ist die lineare Interpolation von Punktepaaren. überträgt man diese Idee auf Tensorprodukt-Bezierflächen, so muss man eine bilineare Interpolation für vier Punkte definieren. Sie ist, wie bei Kurven, am einfachsten Fall ablesbar: Eine (1,1)-Tensorprodukt-Bezierfläche auf den vier Punkten hat die folgende Darstellung:
Oder in Matrixform:
Man geht zunächst von einem -Kontrollnetz aus und bestimmt (wie bei Kurven) für und einem Parameterpaar Zwischenvektoren, die durch bilineare Interpolation entstehen:
wobei ist. Dann sei der Punkt, der dem Parameterpaar zugeordnet wird.
Falls ist, ist ab der zweite Index konstant und es wird nur noch linear interpoliert (wie bei Bezierkurven).
Der Punkt ist dann der Flächenpunkt.
Analog verfährt man, falls ist.
Graderhöhung
Es ist oft von Vorteil, wenn für eine -Tensorprodukt-Bezierfläche ist. Falls dies nicht der Fall ist, lässt sich dies mit Hilfe geeigneter Graderhöhungen erreichen.
Die Graderhöhung von auf der Tensorprodukt-Bezierfläche
wobei . Analog erhält man die partielle Ableitung nach und alle höheren Ableitungen.
Da die Vektoren Tangentenvektoren der im Punkt beginnenden Randkurven sind, ist
ein Normalenvektor der Fläche in diesem Punkt, falls beide linear unabhängig sind. D.h. die Tangentialebene in den Eckpunkten einer Tensorprodukt-Bezierfläche wird i.a. jeweils von dem Eckpunkt und seinen Nachbarpunkten im Kontrollnetz aufgespannt.
Dreiecks-Bezierflächen
Motivation und Definition
Eine formale Verallgemeinerung der Bernstein-Polynome auf Funktionen mit zwei Variablen würde von der Beziehung ausgehen. Damit die auftretenden Terme alle positiv sind, muss in dem Dreieck liegen. Zwei der drei Dreiecksseiten spielen als Intervalle auf den Koordinatenachsen eine besondere Rolle. Um diese Bevorzugung zu vermeiden, führt man homogene Koordinaten mit der Bedingung ein. nennt man Baryzentrische Koordinaten. Die verallgemeinerten Bernsteinpolynome ergeben sich aus der Entwicklung von zu:
mit und .
Kontrollpunkte einer Dreiecks-Bezierfläche
Mit den Abkürzungen und ist
Ist nun
ein dreieckiges Netz von Punkten des , den Kontrollpunkten, so ist[4]
die zugehörige Dreiecks-Bezierfläche.
Die Abbildung zeigt die Anordnung der Punkte für den Fall .
De-Casteljau-Algorithmus
Um den Casteljau-Algorithmus für Dreiecks-Bezierflächen übersichtlich formulieren zu können, führt man noch die folgenden Abkürzungen ein[5]:
und .
Es sei nun ein dreieckiges Netz von Punkten im und ein Parametervektor in baryzentrischen Koordinaten. Dann sei für und
mit Dann ist
ein Punkt der Dreiecks-Bezierfläche[6].
Der Nachweis, dass der Casteljau-Algorithmus wirklich einen Punkt der Dreiecks-Bezierfläche liefert, verwendet (analog zum Kurvenfall) die Rekursionsformeln für Bernsteinpolynome:
Für weitere Details sei auf die Literatur verwiesen.