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: