Zum 3DCenter Forum
Inhalt




Geometrie: High Order Surfaces

25. April 2004 / von Frank / Seite 4 von 13


   Bézierkurven

Bei den Splines hat man also im Normalfall mehrere Punkte gegeben, welche von der Kurve selbst auch alle durchlaufen werden. Wir hatten in dem Zusammenhang das Modell der Straklatte, bei welcher an den Berührpunkten die Strakgewichte die Form der entsehenden Kurve verändern. Nun zu einem anschaulichen Modell für die Bézierkurven:


Gewichte oder Federn ziehen die Kurve (rot)  in verschiedene Richtungen


einige Beispiele für Bézierkurven
die Kurve wird abgesehen von Anfangs und Endpunkt nur in Richtung der anderen Punkte abgelenkt, anstatt diese direkt zu berühren

Bézierkurven sind durch eine Punktfolge eindeutig bestimmt. Die Punktfolge heißt auch Kontrollpolygon und ein einzelner Punkt Kontrollpunkt. Wie der Name schon sagt, lässt sich durch verändern eines Punktes die Kurve kontrollieren / manipulieren. Um genauer auf die Konstruktion einzugehen, benötigen wir den Begriff der Linearen Interpolation: Man stelle sich einfach zwei gegebene Punkte in einen (ebenen / räumlichen) Koordinatensystem vor. Die dazwischen fehlenden Punkte werden einfach auf einer Geraden gefunden, die mit den zwei gegebenen Punkten inzidiert. Zur weiteren Erklärung dienlich, ist aths’ Skizze und Bildunterschrift im Texturfilter-Artikel:


Von x=7 und x=8 sind die Werte bekannt, es ist aber ein Wert für x=7.25 gesucht. Das Ergebnis liegt irgendwo zwischen beiden Funktionswerten. Das linke Gewicht berechnet sich aus dem x2 - x. Das rechte Gewicht ergibt sich aus x - x1. Damit wird der Funktionwert für 7 mit (8 - 7.25) = 0.75 gewichtet, und der Funktionwert für 8 mit (7.25 - 7) = 0.25. Man setzt nun ein: 9.8 x 0.75 + 14.5 x 0.25 und erhält 10.975. Geometrisch erklärt: Es wird angenommen, dass beide Funktionswerte einfach mit einer Linie verbunden werden könnten.

Wir handhaben dies nun allgemeiner:


Punkte a und b sind im Raum gegeben - x ergibt sich aus:

für t=0 erhält man a - für t=1 entsprechend b

Warum das wichtig ist? Eine Bézierkurve entsteht letztendlich ausschließlich aus wiederholter linearer Interpolation. Wir wollen uns dies an einem einfachen Beispiel anschauen:



die beiden neuen Punkte werden entsprechend nach dem Schema der linearen Interpolation auf den jeweiligen Streckstücken erzeugt


Zwischen den vorherig neu erhaltenen Punkten wird wiederholt linear interpoliert
(immer mit dem selben Verhältnis: also hier t=
1/4).
Der neu erhaltene Punkt ist Punkt auf der Kurve. Die anderen Punkte der Kurve werden mit entsprechenden anderen Werten von t erhalten:
Das Ergebnis ist die Bézierkurve (blau).

Setzen wir wiederholt die neu erhaltenen Punkte in die obige Gleichung der linearen Interpolation ein, sehen wir recht schnell, dass wir hier eine Parabel erhalten - besser nur ein Parabelstück (aufgrund der Beschränkung von t). Die Indizes der Punkte sind recht schnell erklärt: Der Obige gibt den aktuellen Grad an - der Untere ist laufende Nummer für Elemente selben Grades. In unserem Fall erhalten wir durch 3 Kontrollpunkte eine Kurve zweiten Grades: eine Parabel. (Verallgemeinernd kann man sagen: Kurve n-ten Grades bei n+1 Kontrollpunkten.)






Kommentare, Meinungen, Kritiken können ins Forum geschrieben werden - Registrierung ist nicht notwendig Zurück / Back Weiter / Next

Shortcuts
nach oben