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:

  1. Positivität: für gilt
  2. Zerlegung der Eins:
    • Konvexkombination der : Positivität und Zerlegung der Eins Jeder Kurvenpunkt ist Element der konvexen Hülle seiner Stützpunkte
  3. Extrema: besitzt genau ein absolutes Maximum an der Stelle
  4. Symmetrie:
  5. Ableitung:
  6. Rekursion: mit für oder sowie

Berstein-Polynome: Eigenschaft und bis durchgehen, Konvexkombination (KLAUSURRELEVANT)

Bézier-Kurven:

  1. Die Punkte und werden durch die Kurve interpoliert und tatsächlich erreicht
  2. Die Punkte bis werden approximiert, d.h. die Kurve verläuft in der Nähe
  3. Die Bézier-Kurve befindet sich immer vollständig in der konvexen Hülle der Menge der Punkte
  4. Der Linienzug wird als charakteristisches Polygon der Bézier-Kurve bezeichnet
  5. Die Tangente im Anfangspunkt ist gegeben durch den Vektor
  6. Die Tangente im Endpunkt ist gegeben durch den Vektor
  7. Eine Bézier-Kurve durch Punkte ist eine polynomiale Kurve vom Grad
  8. 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: