Schaltfläche NURBS-KurveNURBS

Definition, Eigenschaften, Flächen und ‑Volumen, Eingabe und Bearbeitung, Beispiel 1, 2, 3, 4

<< Hier Klicken, um das Inhaltsverzeichnis anzuzeigen >>

Bedienoberfläche > Zeichnen

Schaltfläche NURBS-KurveNURBS

Definition, Eigenschaften, Flächen und ‑Volumen, Eingabe und Bearbeitung, Beispiel 1, 2, 3, 4

Vorherige Seite   Hauptseite  Nächste Seite Seite drucken

Non‑Uniform Rational B‑Splines sind mathematisch definierte Kurven, Flächen oder Volumen, die zur Modellierung beliebiger Formen (Freiformen) verwendet werden. Im Prinzip kann jede beliebige technisch herstellbare oder in der Natur vorkommende Form mit Hilfe von NURBS dargestellt werden. Sie dienen hier dem Ziel, ein FE‑Netz zu ge­ne­rie­ren.

Eine interaktive Bearbeitung von NURBS ist in der Regel intuitiv über sogenannte Kontroll­punkte möglich. Diese liegen entweder direkt auf dem NURBS oder wirken, als ob sie mit einem Gummi­band damit verbunden sind.

 

Definition einer NURBS‑Kurve

Eine NURBS‑Kurve von Grad p ist definiert durch:

Gleichung einer NURBS‑Kurve von Grad p

mit

u Kurvenparameter.
n Index des Kontrollpunktes am Kurvenende.
p Polynomgrad der Kurve.
Pi Kontrollpunkte; diese erzeugen das Kontrollpolygon.
wi Gewichte der Kontrollpunkte.
Ni,p(u) B‑Spline Basisfunktionen vom Grad p.
Ri,p(u) Rationale Basisfunktionen vom Grad p.

Der Kurvenparameter u ist definiert auf dem Knotenvektor

U = {a, ..., a, up+1, …., um‑p‑1, b, …, b}

Dieser hat m+1 Elemente. Der erste und letzte Knoten wiederholt sich p+1‑fach. Die Elemente des Knotenvektors sind in aufsteigender, nicht zyklischer Reihenfolge an­ge­ord­net, können jedoch ungleichförmig verteilt sein. In der Regel wird a=0 und b=1 ge­setzt. Der Grad der Basisfunktionen kann im Prinzip beliebig gewählt werden. Aus kon­struk­tiven und rechentechnischen Gründen sollte p zwischen 1 und 5 angenommen werden.

 

Die nachfolgende Abbildung zeigt eine NURBS‑Kurve vom Grad 2 mit dem zugehörigen Kontroll­polygon. Die Gewichtung aller Kontrollpunkte ist w = 1.

NURBS‑Kurve vom Grad 2 mit dem zugehörigen Kontrollpolygon

Der zugrunde liegende Knotenvektor lautet:

U = {0, 0, 0, 1/6, 1/3, 1/2, 2/3, 5/6, 1, 1, 1}

Den Verlauf der zugehörigen B‑Spline Basisfunktionen zeigt die folgende Abbildung.

Verlauf der zugehörigen B‑Spline Basisfunktionen

 

Wichtige Eigenschaften der rationalen Basisfunktionen Ri,p

•Ri,p(u) ≥ 0 für alle u ⋲ [a, b].
•Die Summe aller Basisfunktionen an jedem Ort u ⋲ [a, b] ist gleich 1.
•Jede Basisfunktion hat im Intervall u ⋲ [a, b] genau ein Maximum.
•Ri,p(u)  = 0 außerhalb des Intervalls [ui, ui+p+1].
•Für wi = const. gilt Ri,p(u) = Ni,p(u).
•Innerhalb einer Knotenspanne existieren alle Ableitungen von Ri,p(u), an einem Knoten ist Ri,p(u)  (p‑k)‑mal stetig differenzierbar. k ist die Viel­fach­heit des je­wei­li­gen Knotens.

 

Wichtige Eigenschaften von NURBS‑Kurven

Aus den o.g. Eigenschaften der rationalen Basisfunktionen ergeben sich die folgenden Eigenschaften der NURBS‑Kurven:

•C(a) = P0 und C(b) = Pn für u ⋲ [a, b].
•Eine affine Transformation von NURBS‑Kurven erfolgt durch Transformation der Kontroll­punkte.
•Die Kurve C(u) liegt innerhalb der konvexen Hülle des Kontroll­polygons.

NURBS‑Kurve innerhalb der konvexen Hülle des Kontrollpolygons

•Eine NURBS‑Kurve ohne innere Knoten ist eine rationale Bézier‑Kurve. Somit be­in­halten NURBS‑Kurven sowohl nichtrationale B‑Spline- als auch nichtrationale Bézier‑Kurven.
•Die Änderung der Koordinaten oder des Gewichts eines Kontrollpunktes Pi wirkt sich nur auf den Teil der Kurve aus, der dem Intervall u ⋲ [ui, ui+p+1] zugeordnet ist.

NURBS‑Kurvenverläufe vor und nach Verschiebung des Kontrollpunktes P3 nach P3’

Verschiebung des Kontrollpunktes P3 nach P3’

NURBS‑Kurvenverläufe mit unterschiedlicher Gewichtung des Kontrollpunktes P1

Änderung des Kurvenverlaufs durch unterschiedliche Gewichtung des Kontrollpunktes P1

•Je kleiner der Grad einer NURBS‑Kurve ist, desto geringer ist die Abweichung vom zu­ge­hörigen Kontroll­polygon. Die nachfolgenden Kurven haben alle dasselbe Kontroll­polygon und denselben Knoten­vektor jedoch unterschiedlichen Polynom­grad p.

NURBS‑Kurven mit unterschiedlichem Polynomgrad p

•Die Verwendung mehrfacher Kontrollpunkte führt zu Knicken in der Kurve. Dies ergibt sich unmittelbar aus der o.g. Bedingung der konvexen Hülle.

 

Die nächste Abbildung zeigt den Verlauf, nachdem Kontrollpunkt P5 auf P4 geschoben worden ist. In der Umgebung des Knicks verläuft die NURBS‑Kurve linear. Einen ver­gleich­baren Effekt kann man durch Verwendung p‑facher Knoten erreichen, da dies wie erwähnt zu einer Diskontinuität führt.

NURBS‑Kurven mit sich wiederholendem Kontrollpunkt

 

NURBS‑Flächen und –Volumen

Die Eigenschaften von NURBS‑Kurven können formal auf Flächen und Volumen über­tragen werden. Sämtliche Prinzipien bleiben dabei erhalten. Die numerische Behand­lung wird jedoch aufgrund des zwei- bzw. dreidimensionalen Para­meter­be­reiches wesentlich auf­wendiger. Bezüglich der mathematischen Grund­lagen wird auf die Fach­li­te­ra­tur ver­wie­sen.

NURBS‑Fläche mit zugehörigem Kontrollpolygon

NURBS‑Fläche mit zugehörigem Kontrollpolygon

 

 

Eingabe und Bearbeitung

Die Eingabe einer NURBS‑Kurve geschieht entweder über ihre Kontroll­punkte oder über Inter­polations­punkte auf der NURBS‑Kurve. Zur Bearbeitung von NURBS stehen folgende Kon­text­funktionen zur Verfügung:

•Kurvenrichtung umkehren
•Kontrollpunkt verschieben
•Kontrollpunkt‑Gewicht ändern
•Kurven verbinden
•Flächenrichtungen u, v vertauschen
•Knoten einfügen

 

NURBS‑Flächen werden mit Hilfe von NURBS‑Kurven erzeugt. Dazu stehen folgende Kon­text­funktionen zur Verfügung:

•Fläche aus Profilkurven erzeugen
•Fläche aus 4 Randkurven erzeugen
•Rotationsfläche erzeugen

 

NURBS‑Volumen werden mit Hilfe von NURBS‑Flächen erzeugt. Dazu stehen folgende Kon­text­funktionen zur Verfügung:

•Rotationsvolumen erzeugen
•Volumen aus Flächen erzeugen

 

 

Beispiel für eine Fläche aus Profilkurven

Drei NURBS‑Kurven

Drei NURBS‑Kurven

Mit der Funktion NURBS‑Kurve werden drei NURBS‑Kurven gezeichnet. Dabei ist auf eine ein­heit­liche Aus­richtung der Kurven zu achten.

NURBS‑Fläche aus drei NURBS‑Kurven

NURBS‑Fläche

Die drei NURBS‑Kurven werden in der Reihenfolge (1./2./3.) markiert. Sind die NURBS‑Kurven markiert, wird die Kontext­funktion Fläche aus Profil­kurven erzeugen aus­ge­wählt. Der Grad der Fläche in der 2. Richtung wird in diesem Beispiel zu 2 gewählt.

NURBS‑Fläche aus drei NURBS‑Kurven mit FE‑Netz

NURBS‑Fläche mit FE‑Netz

Über die Kontextfunktion FE‑Netz generieren der NURBS‑Fläche wird ein FE‑Netz erzeugt.

 

 

Beispiel für eine Fläche aus vier Randkurven

Vier NURBS‑Kurven

NURBS‑Fläche aus vier NURBS‑Kurven

Mit der Funktion NURBS‑Kurve werden vier unter­schied­liche, zu­sam­men­hän­gen­de, NURBS‑Kurven gezeichnet.

 

Sind die NURBS‑Kurven markiert, wird die Kontext­funktion Fläche aus 4 Rand­kurven erzeugen aus­ge­wählt.

Vier NURBS‑Kurven

NURBS‑Fläche


NURBS‑Fläche aus vier NURBS‑Kurven mit FE‑Netz

NURBS‑Fläche mit FE‑Netz

 

 

Über die Kontextfunktion FE‑Netz generieren der NURBS‑Fläche wird ein FE‑Netz erzeugt.

 

 

Beispiel für ein Rotationsvolumen

Zwei NURBS‑Kurven

Zwei NURBS‑Kurven

NURBS‑Fläche aus zwei NURBS‑Kurven

NURBS‑Fläche

Mit der Funktion NURBS‑Kurve werden NURBS‑Kurven ersten Grades, mit jeweils zwei Kontroll­punkten, gezeichnet.

Sind die NURBS‑Kurven markiert, wird die Kontext­funktion Fläche aus Profil­kurven erzeugen aus­ge­wählt.

NURBS‑Volumen aus NURBS‑Fläche

NURBS‑Volumen

NURBS‑Volumen aus NURBS‑Fläche mit FE-Volumenmodell

FE‑Volumenmodell

Über die Kontextfunktion Rotationsvolumen erzeugen der NURBS‑Fläche wird ein NURBS‑Volumen erzeugt.

Über die Kontextfunktion FE‑Netz generieren des NURBS‑Volumens werden Volumenelemente (VQ83) erzeugt.

 

 

Beispiel für ein Volumen aus Flächen

NURBS‑Kurven

NURBS‑Kurven

Zwei NURBS‑Flächen aus NURBS‑Kurven

NURBS‑Flächen

Mit den Funktionen NURBS‑Kurve und der Kontext­funktion Fläche aus Profil­kurven erzeugen werden zwei räumliche NURBS‑Flächen erzeugt. Dabei ist auf eine ein­heit­liche Orientierung der NURBS zu achten.

NURBS‑Volumen aus zwei NURBS‑Flächen

NURBS‑Volumen

NURBS‑Volumen aus zwei NURBS‑Flächen mit FE-Volumenmodell

FE‑Volumenmodell

Sind die NURBS‑Flächen markiert, wird die Kontext­funktion Volumen aus  Flä­chen er­zeu­gen aus­ge­wählt. Im An­schluss werden über die Kon­text­funk­ti­on FE‑Netz generieren des NURBS‑Volumens Volumenelemente (VQ83) erzeugt.