Title: eine kurze Vorstellung,
1NURBS CO
- eine kurze Vorstellung,
- vor allem an Hand von Beispielen
- weniger von Theorie
- und ohne Anspruch auf Vollständigkeit und strenge
Wissenschaftlichkeit - eben für die Schule gedacht
2Am Anfang ein wenig Eigenwerbung http//raumgeom
etrie.schule.at oder http//www.schule.at/portale/
raumgeometrie-gz-dg-cad/ mit z.B. folgenden
Informationen Architektur Rundgangwo jeden Monat
ein besonders spannendes Architektur Thema
besprochen wird VRML-Lehrgang POV-Ray
Lehrgang Blender Lehrgang Nichteuklidische
Geometrie (gegen Jahresende)
3Approximation durch SPLINEFUNKTIONEN Eine Anzahl
von Punkten soll durch eine möglichst glatte
Polynomfunktion verbunden werden. Vergleich EIN
Polynom - Spline
4- Beispiel
- P0(-4,0), P1(0,0), P2(4,0), P3(6,2), P4(8,0),
P5(12,0), P6(16,0) - Es sind also sechs Polynomfunktionen P(x),
Q(x),...U(x) nötig, eine pro Intervall. - Derive
- Zuerst werden die Punkte eingegeben
- dann die Polynomfunktionen definiert
- dann die Anschlussbedingungen eingegeben
(C2-Übergänge in jedem Zwischenpunkt) - und die Randbedingungen (Wendpunkte)
5- Innen C2-Übergänge
- In den Randpunkten Wendepunkte
- Die Gesamtkrümmung ist minimal
- Nachteil
- Änderung eines Punktes bewirkt Totaländerung.
- Hier ein Splinerechner
- http//www.arndt-bruenner.de/mathe/scripts/kubspli
ne.htm
6Jetzt wird ein ganz anderer Weg beschritten. Es
ist also wieder eine Anzahl n1 von Punkten A0,
A1, ... An , gegeben. Die Punkte der
interpolierenden Kurve sollen durch ein
gewichtetes Mittel der gegebenen bestimmt werden,
also etwa X g0A0 g1A1 g2A2 .... gnAn
mit variablen Gewichtsfunktionen gi(u) Der
Parameterbereich für u soll sein 0, 1 und die
Summe der gi(u) soll immer (d.h. für alle u) 1
sein, X befindet sich dann immer in der konvexen
Hülle der Punkte.
7Die Bernsteinpolynome B0,0 1, B0,1(u)
1-u, B1,1(u) u B0,2(u) (1-u)² B1,2(u)
2u(1-u) B2,2(u) u²B0,3(u) (1-u)³ B1,3(u)
3u(1-u)² B2,3(u) 3u²(1-u) B3,3(u)
u³B0,4(u) (1-u)4 B1,4(u) 4u(1-u)3
B2,4(u) 6u²(1-u)² B3,4(u) 4u³(1-u)
B4,4(u) (1-u)4
8Wichtige Eigenschaft sie bilden eine Zerlegung
der 1 Und sind daher als Gewichtungsfunktionen
geeignet. 1 1n ( u(1-u) )n S Bi,n(u)
9Nicht-rationale Bezierkurven
Quelle www.dma.ufg.ac.at
10- Quelle
- http//www.at-mix.de/bezier_kurve.htm
- Läuft durch Start- und Endknoten P0 bzw. Pn ,
- in diesen tangential zu P0 P1 bzw. Pn-1 Pn
- Grad ist abhängig von der Anzahl der
Kontrollpunkte - (Grad n Anzahl der Kontrollpunkte 1
- Anwendung in vielen Grafikprogrammen
- Änderung eines Punktes führt zu Globaländerung
der Kurve
11Bezierflächen in Tensorproduktdarstellung.
Quelle http//www.grg21oe.at/mathe_geom/Kurs/fre
iformflaeche.htm
12- Bearbeitungsfunktionen bei Blender
- Kurve einfügen Add - Kurve - Bezier
- Schließen durch Drücken von C im Edit Modus
- Den Öffnungspunkt verschieben Schließen Sie die
Kurve (mit C). Wählen Sie dann die beiden Punkte
aus, zwischen denen die Kurve geöffnet sein soll,
und drücken X-gtErase Segment. - Zwei Kurventeile verbinden mit F (make Segment)
wieder verbinden. - Ein Kurvensegment abtrennen Separierte
Kurvensegmente können Sie mit P (separate) in ein
eigenes Objekt umwandeln. - Extrude zuerst in Mesh umwandeln ALT C
- Neue Punkte klicken Sie mit Strg-LMT in das
Fenster.
13- Kritik an den Bezierkurven
- Die Bernsteinpolynome sind überall ? 0
(ausgenommen die Randpunkte), daher beeinflusst
jeder Punkt die gesamte - Im Anfangspunkt ist nur das erste Polynom ? 0, im
Endpunkt nur das letzte, alle anderen sind dort
0 und daher geht die Bezierkurve durch Anfangs-
und Endpunkt. - Der Grad der Kurve ist um 1 geringer als die
Anzahl der Punkte, bei vielen Punkten daher
riesig. - Das alles will man dezidiert nicht haben.
14- Die Gewichtsfunktionen für B-Splines.
- Man hat daher die Gewichtsfunktionen so
modelliert, dass sie im Ausdruck unten nur in
einem bestimmten Intervall ? 0 und daher der
betreffende Punkt das Aussehen auch nur in diesem
Intervall beeinflussen kann. - Ändert man daher einen Punkt ab, so führt das nur
zu einer lokalen Änderung der Kurve, der Rest
bleibt unbeeinflusst.
15Die Gewichtsfunktionen vom Grad
0 N0,0(u)CHI(0, u, 1), N1,0(u)CHI(1, u, 2),
N2,0(u)CHI(2, u, 3), ... sind
Treppenfunktionen, die jeweils im Intervall i,
i1 den Wert 1 haben und sonst 0 sind. Alle
aufsummiert ergeben trivialerweise 1. Für u aus
0,1) erhält man immer den Punkt P0
16Die Gewichtsfunktion vom Grad 1 Sägezahn. Alle
aufsummiert ergeben 1, aber erst ab u1!!N0,1(u)
(u-0)CHI(0,u,1) (2-u)CH(1,u,2)N1,1(u)
(u-1)CHI(1,u,2) (3-u)CH(2,u,3) N2,1(u)
(u-2)CHI(2,u,3) (4-u)CH(3,u,4) Usw.
17- Die Gewichtsfunktionen vom Grad 2
- Das Verfahren von oben setzt man sinngemäß fort,
allerdings sind die Summen dann nicht 1 sondern
2, man muss also durch 2 dividieren. - Jeder Teil besteht aus drei gewöhnlichen
Parabeln, insgesamt mit Breite 3, sonst 0. - Alle aufsummiert ergeben 1, aber erst ab u2!!
- Für ganzzahlige u sind genau zwei ?0 mit Wert
beidemale 1/2, das sind durch die
Halbierungspunkte der Seiten des Stützpolygones.
18- Die Gewichtsfunktion vom Grad 3
- besteht aus vier kubischen Parabeln, mit Breite
4, sonst 0. - Alle aufsummiert ergeben 1, aber erst ab u3!!
19Rekursionsformel von de Boor/Cox/Mansfield
Grad 0 liefert also nur die Punkte zurück. Grad
1 liefert also nur den Streckenzug zurück Grad
2 liefert eine Kurve, die die Polygonseiten in
deren Halbierungspunkten berührt, sie beginnt im
ersten und endet im letzten Grad 3 liefert eine
Kurve ohne besonders ins Auge stechende
Eigenschaften
20- Standard B-Spline in Blender
- Add - Curve Nurbs
- Im Edit Modus
21Non Uniforme B-Splines Grad 0 N0,0(u)CHI(0,
u, 0), N1,0(u)CHI(0, u, 0), N2,0(u)CHI(0, u,
1), N3,0(u)CHI(1, u, 2), ...wobei die ersten
beiden 0 sind. Grad 1 N0,1(u) (u-0)0
(0-u)0 0N1,1(u) (u-0)0
(1-u)N2,0(u)N2,1(u) (u-0)N2,0(u)
(2-u)N3,0(u)N3,1(u) (u-1)N3,0(u)
(3-u)N4,0(u) Usw.
22Beispiel U lt 0,0,0,1,2,3,4,5, ... Zu sehen
sind Ursache und Wirkung die Kurve geht durch
den Mehrfachknoten
23- Blender
- Im Bild der Standard Nurbs
- offen und geschlossen
- Im Editiermodus.
-
24Nurbs-Flächen in Blender. Die Standard Fläche
ist eher sparsam, sie geht nämlich ebenso wie die
Kurve keineswegs durch ihre Stützpunkte.
Festgelegt ist sie übrigens durch ein 44 Gitter
aus 16 Punkten.