Parametrische Kurven und Flächen
Darstellung
- Explizite Darstellung einer Kurve im
- Implizite Darstellung einer Kurve im als Lösungsmenge einer Funktion
- Parametrische Darstellung einer Kurve durch parametrisierte Funktionen für die (kartesischen) Koordinaten der Kurvenpunkte
- in der Praxis zumeist verwendet, da Biegungs-, Stetigkeits- und Formungseigenschaften effizient bereitgestellt werden
Parametrische Kurvendarstellung
Parametrisierte Kurve: Sein ein reelwertiges Intervall. Eine parametrisierte Kurve wird dargestellt als differenzierbare Abbildung der Form
mit den komponentenweise definierten Funktionen
Kurve: Das Bild heißt Kurve
Reguläre Kurve: Eine Kurve heißt regulär, falls sie stetig differenzierbar ist, d.h.
für alle . Jede reguläre Kurve hat damit in jedem Kurvenpunkt einen Tangentenvektor
Kurvenlänge: Sei ein Interval und die Kurve darauf regulär. Die Länge von bezüglich ist gegeben durch:
Beispiele von Kurven
Geraden: Eine gerade durch den Punkt mit Richtung wird parametrisiert dargestellt durch
Es gilt für alle , d.h. die Kurve ist regulär

Kreise: Die implizite Darstellung einer Kreislinie mit Mittelpunkt und Radius ist gegeben durch . Sie wird parametrisiert durch
Für die erste Ableitung gilt:

Schraubenlinie: Eine Schraubenlinie im Dreidimensionalen lässt sich parametrisch darstellen als:
wobei

Polynomiale Kurven
Eine polynomiale Kurve ist eine parametrische Kurvendarstellung , bei der die einzelnen komponentenweise definierten Funktionen Polynome -ten Grades in sind, d.h.
lässt sich damit definieren als
mit den als Kontroll- oder Stützpunkte (bzw. Vektoren), über die die Gestalt und der Verlauf der Kurve spezifiziert wird
- in der Praxis meistens quadratische oder kubische Polynome ( oder )
- Tangentialvektor | Gerade an einer Stelle mit gleicher Richtung wie Tangentialvektor wird auch Kurventangente genannt
- eine stückweise zusammengesetzte, polynomiale Kurve wird durch eine Reihe von polynomialen Kurven (Kurvensegmente) definiert, d.h.
Kontinuität
Geometrische Kontinuität:
- und sind an ihrer Nahtstelle -geometrisch kontinuierlich (auch -stetig), falls
- “sie stimmen in ihrer Position überein”
- und sind an ihrer Nahtstelle -geometrisch kontinuierlich, falls
- d. h. ihre Tangentialvektoren besitzen dieselbe Richtung, aber evtl. unterschiedliche Längen
- Allgemein: und sind an ihrer Nahtstelle -geometrisch kontinuierlich, falls sie richtungsmässig (Tangentialvektor) in ihrer -ten Ableitung übereinstimmen
- exakte Gleichheit für -parametrisch kontinuierlich
Parametrische Kontinuität:
- und sind an ihrer Nahtstelle -parametrisch kontinuierlich, falls
- Allgemein: und sind an ihrer Nahtstelle -parametrisch kontinuierlich, falls
- d. h. die i-ten Ableitungen stimmen an der Nahtstelle überein

Bézier-Kurven
- Grad : Stützpunkte
- ist -tes Bernstein-Polynom mit Grad
- Gewichtung:
- Bézier-Kurve:
Bernstein-Polynome
Seien und natürliche Zahlen und . Das -te Bernstein-Polynom vom Grad ist definiert als
Eigenschaften
Bernstein-Polynome:
- Positivität: für gilt
- Zerlegung der Eins:
- Konvexkombination der : Positivität und Zerlegung der Eins Jeder Kurvenpunkt ist Element der konvexen Hülle seiner Stützpunkte
- Extrema: besitzt genau ein absolutes Maximum an der Stelle
- Symmetrie:
- Ableitung:
- Rekursion: mit für oder sowie
Berstein-Polynome: Eigenschaft und bis durchgehen, Konvexkombination (KLAUSURRELEVANT)
Bézier-Kurven:
- Die Punkte und werden durch die Kurve interpoliert und tatsächlich erreicht
- Die Punkte bis werden approximiert, d.h. die Kurve verläuft in der Nähe
- Die Bézier-Kurve befindet sich immer vollständig in der konvexen Hülle der Menge der Punkte
- Der Linienzug wird als charakteristisches Polygon der Bézier-Kurve bezeichnet
- Die Tangente im Anfangspunkt ist gegeben durch den Vektor
- Die Tangente im Endpunkt ist gegeben durch den Vektor
- Eine Bézier-Kurve durch Punkte ist eine polynomiale Kurve vom Grad
- Jeder einzelne Punkt hat einen “globalen” Einfluss, d.h. Einfluss auf den gesamten Kurvenverlauf
- mehr Stützstellen heißt nicht mehr Kontrolle, stattdessen werden komplexe Kurven aus Teilkurven mit niedrigem Grad zusammengesetzt

Zusammengesetzte Bézier-Kurven
- Verbindung der Kurvensegmente über einen gemeinsamen End- bzw. Anfangspunkt
- -kontinuierlich, wenn
- gleiche Richtung vor und hinter gemeinsamem Verbindungspunkt
- -kontinuierlich, wenn
- zusätzlich gleiche Länge vor und hinter gemeinsamem Verbindungspunkt
Rekursive Konstruktion eines Bézier-Kurvenpunktes (De-Casteljau-Algorithmus)
Für die Bézier-Kurve zu den Punkten gilt:
Dabei wird also die Stützpunkte-Menge also in zwei Mengen mit Größe geteilt. Dies kann rekursiv wiederholt werden
Algorithmus
Wir definieren . Für und berechnen wir den Punkt durch
Der gesuchte Punkt ist gegeben durch
- Rekursives Verfahren, das die jeweilige Kurve in zwei Unterkurven unterteilt und durch Interpolation die Kurvenpunkte berechnet
- Zeitaufwand:
- Numerisch stabil, da stets nur Konvexkombination berechnetet Daten erzeugt werden
- Effizienter, numerisch stabiler Algorithmus zur Berechnung von Kurvenpunkte
- Verwendung: z.B. Definition von Schriftzeichen (Glyphs) für Zeichensätze (Fonts)


Kubische Hermitisches Splines
- stückweise definierte, kubische polynomial definierte Kurve , die durch eine Menge von Kontrollpunkten definiert ist
- Die Kurve interpoliert die Stützpunkte, sie werden also allesamt einmal erreicht (
- Kurvensegmente sind abschnittsweise zwischen den Stützpunkten definiert konstanter Grad, unabhängig von
- Tangente an Stützpunkt entspricht Richtungsvektor zwischen benachbarten Stützpunkten
- im Allgemeinen -kontinuierlich, aber nicht -kontinuierlich
- keine Konvexe-Hülle-Eigenschaft
sind Tangentenvektoren, anstatt Punkten

B-Spline
- Splines repräsentieren kontinuierliche Kurven mit beliebig vielen Kontrollpunkten, die jeweils nur lokalen Einfluss auf den Kurvenverlauf haben
- Splines setzen sich aus stückweise zusammengesetzten, polynomial definierten Kurvensegmenten zusammen, die jedoch nicht einzeln spezifiziert werden, sondern sich aus den Kontrollpunkten und Parametervektoren ergeben
- frei wählbarer Polynomgrad
- Zusätzlich zu den Kontrollpunkten wird ein Knotenvektor spezifiziert, der die Gewichte der Kontrollpunkte ausdrückt
- Uniforme Splines besitzen im gesamten Kurvenverlauf gleiche Stetigkeitseigenschaften. Bei einem Grad sind die Nahtstellen der Kurvensegmente -kontinuierlich (z.B. für kubische B-Splines gilt -Kontinuität)
Definition
- Kontrollpunkte: mit
- konstanter Polynomgrad
- Knotenvektor , eine wachsende Folge mit Werten
- für jedes ergibt sich als gewichtete Summe der Punkte
Die B-Spline-Kurve ist definiert wie folgt
mit
mit den B-Spline-Basisfunktionen (nicht Berstein-Polynome!)
B-Spline-Basisfunktionen
- Rekursive Definition auf Basis von Polynomen niedrigeren Grades
- Einflussbereiche der Punkte werden über die Knotenwerte in definiert


Einflussbereich: Wird durch den Polynomgrad bestimmt
- der Einflussbereich von ergibt sich aus der Vereinigung der Einflussbereiche von und
- Der Einflussbereich ist damit
- Lokaler Kontrollpunkteinfluss: Einflussbereich eines Kontrollpunktes ergibt sich aus dem Wirkungsbereich der Gewichtungsfunktion
- Da die Gewichtungsfunktionen im Allgemeinen nur in einem Teilabschnitt sind, hat nur lokalen Einfluss
- Lokaler Kontrollpunkteinfluss ist die Voraussetzung für die flexible Gestaltung komplexer Kurven


Kontrollpunktgewichtung
- Kurvenpunkte ergeben sich als Summe gewichteter Kontrollpunkte mit lokalem Einfluss:
- Aufbau des Knotenvektors entscheidet maßgeblich über Kontrollpunkteeinfluss
- Knotenmultiplizität: -faches Gleichsetzen eines Knotenwertes (Knotenmultiplizität ) bewirkt, dass gezielt die Stetigkeit zwischen zwei Kurvensegmenten reduziert wird

Typen von B-Splines
- Geschlossene B-Splines: Anfangskontrollpunkte werden am Ende der Kontrollpunktfolge wiederholt | z.B.
- Uniforme B-Splines: Knotenwerte sind äquidistant | konstant für innere Knoten des Knotenvektors
- Nichtuniforme B-Splines: Knotenwerte sind nicht äquidistant
- Nichtrationale B-Splines: und sind Polynome in
- Rationale B-Splines: und sind Polynombrüche in mit als Polynome gleichen Grades wie und
- Erweiterung der B-Splines mit Gewichtung der Kontrollpunkte
- NURBS: Nicht-uniforme (NU), rationale (R) B-Splines (BS)
Definitionen Bezier vs. Spline (auch rekursiv) können
Parametrische Flächen
- Darstellung ähnlich zu Splines, aber über Punktegitter
- Fläche entsteht durch Kombination zweier Kurven
Patches
Kurvenfamilie
- Der Rand eines Patches bezüglich - bzw. -Dimensions des Parameterraums wird durch eine Randkurve geformt
- Für ein feste (bzw. ein festes ) ergibt sich aus der Flächenfunktion stets eine eindimensional parametrisierte Kurvenfunktion
- Die Geometrie eines Patches ist durch das reguläre 2D-Gitter seiner Kontrollpunkte festgelegt
- jeder Gitterpunkt entspricht einem Kontrollpunkt im
- Die Kontrollpunkte eines Patches werden im Allgemeinen in einem 2D-Array gespeichert
- Die Kontrollpunkte werden zur Berechnung eines Patchflächenpunktes gewichtet summiert; die Gewichtung wird durch Mischfunktionen definiert
Definition
- Sei eine zweifach parametrisierte polynomiale Funktion mit
- Ein Patch ist definiert durch
- Die Normale im Punkt ist gegeben durch
- Die geometrische Form von im wird durch die Kontrollpunkte und Knotenvektoren von gesteuert
- Das Rendering eines Patches erfolg z.B. durch Triangulation der Oberfläche mit einer festen oder adaptiven (z.B. sichtabhängigen) Auflösung
Bilineare Patches
- Sonderfall mit 4 Kontrollpunkten
- verwendet lineare Interpolation entlang der beiden Achsen
- entspricht Bézier-Patch mit Grad 1
Bezier-Flächen
Eine Bézier-Fläche (Bézier Surface, Bézier Patch) ist eine parametrische Fläche auf Basis von Bernstein-Polynomen -ten Grades mit einem -Kontrollpunktgitter mit den Kontrollpunkten
mit
- Im Allgemeinen habe die Bernsteinpolynome in und denselben Grad (häufigster Fall ist )
Eigenschaften
- Konvexe-Hülle-Eigenschaft: Das Bézier-Flächenstück liegt in der konvexen Hülle des definierenden Kontrollnetzes
- Globaler Einfluss der Kontrollpunkte: e: Alle Kontrollpunkte beeinflussen global die Bézier-Fläche
- Interpolation der Eckpunkte: Die vier Eckpunkte des Kontrollnetzes und die Eckpunkte der Fläche stimmen überein
- Bézier-Randkurven: Die Randpunkte des Kontrollnetzes sind die Bézier-Punkte der Randkurven der Fläche
- Planarität: Genau dann eben, wenn das Kontrollnetz in einer Ebene liegt
Ableitungen und Normalen
Gradienten durch partielle Ableitungen:
Die Normale ein einem Flächenpunkt kann durch das Kreuzprodukt der Gradientenvektoren berechnet werden:
Kontinuitätsbedingungen
- und -Kontinuität: Durch 4 gemeinsame Kontrollpunkte entlang der gemeinsamen Flächenkante
- -Kontinuität: 2 Kontrollpunktmengen zur Seite der gemeinsamen Flächenkante

Triangulierung von Bézier-Flächen
- Für das Rendering werden Bézier-Flächen durch Dreiecksnetze approximiert
- Triangulierung sollte adaptive erfolgen, um optimale Netzauflösung bezüglich Canvas zu gewährleisten
- Tesselation sollte von der GPU (vollständig) übernommen werden, um Rendering-Effizienz zu maximieren
- An gemeinsamen Patch-Rändern muss über entsprechende Auflösung das Mesh „vernäht“ werden (z.B. bei nicht-uniformer Tesselation)

B-Spline-Flächen
- Entkopplung von Grad und Anzahl der Punkte
- Eine B-Spline-Fläche ist eine zwei-dimensional un und parametrisierte Fläche
- wird durch ein Kontrollpunkt-Gitter spezifiziert, dass viele Punkte enthält
- Die Punkte werden durch die polynomialen Funktionen bzw. gewichtet, deren Polynomgrad in Dimension bzw. in Dimension sei
- meist
- die minimale Anzahl der Punkte in der - bzw. -Dimension wird durch den Polynomgrad bzw. definiert (analog zu reinen B-Splines)
- Die Knotenvektoren, die in der Definition der -Funktionen verankert sind, sind bezüglich bzw. definiert als bzw.
Die B-Spline-Flächen-Funktion ist definiert wie folgt:

Eigenschaften
- Lokaler Einfluss
- Nichtnegativität:
- Partition der Eins:
Rekursive Definition der Basis-Funktion :
NURBS-Flächen
Nicht-uniforme rationale B-Spline-Flächen
- Verallgemeinerung durch rationalen Polynomfunktionen
- Generalisierung der polynombasierten, parametrischen Flächen
- Zusätzlich pro Punkt: Gewicht
- mit den Kontrollpunkten im homogenen Koordinatenrau,
Definition: