24
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 NURBS & CO

Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Embed Size (px)

Citation preview

Page 1: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

eine kurze Vorstellung, vor allem an Hand von Beispielenweniger von Theorieund ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeiteben für die Schule gedacht

NURBS & CO

Page 2: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Am Anfang ein wenig Eigenwerbung:

http://raumgeometrie.schule.at oder http://www.schule.at/portale/raumgeometrie-gz-dg-cad/  mit z.B. folgenden InformationenArchitektur Rundgangwo jeden Monat ein besonders spannendes Architektur Thema besprochen wirdVRML-LehrgangPOV-Ray LehrgangBlender LehrgangNichteuklidische Geometrie (gegen Jahresende)

Page 3: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Approximation durch SPLINEFUNKTIONEN

Eine Anzahl von Punkten soll durch eine möglichst glatte Polynomfunktion verbunden werden.Vergleich: EIN Polynom - Spline

Page 4: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

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)

Page 5: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

•Innen: C2-Übergänge•In den Randpunkten: Wendepunkte•Die Gesamtkrümmung ist minimalNachteil: Änderung eines Punktes bewirkt Totaländerung.

Hier ein Splinerechner:http://www.arndt-bruenner.de/mathe/scripts/kubspline.htm

Page 6: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Jetzt wird ein ganz anderer Weg beschritten. Es ist also wieder eine Anzahl  n+1 von Punkten  A0, A1, ... An , gegeben. Die Punkte der interpolierenden Kurve sollen durch ein gewichtetes Mittel der gegebenen bestimmt werden, also etwaX = 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.

Page 7: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Die 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

 

Page 8: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Wichtige Eigenschaft: sie bilden eine Zerlegung der 1Und sind daher als Gewichtungsfunktionen geeignet.

1 = 1n = ( u+(1-u) )n = Σ Bi,n(u)

Page 9: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Nicht-rationale Bezierkurven

Quelle: www.dma.ufg.ac.at

Page 10: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

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

Page 11: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Bezierflächenin Tensorproduktdarstellung. Quelle: http://www.grg21oe.at/mathe_geom/Kurs/freiformflaeche.htm

Page 12: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Bearbeitungsfunktionen bei BlenderKurve einfügen: Add  - Kurve - BezierSchließen: durch Drücken von C im Edit ModusDen Ö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->Erase 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 + CNeue Punkte: klicken Sie mit Strg-LMT in das Fenster.

Page 13: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Kritik an den Bezierkurven

Die Bernsteinpolynome sind überall  ≠ 0 (ausgenommen die Randpunkte), daher beeinflusst jeder Punkt die gesamteIm 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.

Page 14: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

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.

Page 15: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Die 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, i+1] 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

Page 16: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Die Gewichtsfunktion vom Grad 1: Sägezahn.  Alle aufsummiert ergeben 1, aber erst ab u=1!!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.

Page 17: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Die Gewichtsfunktionen vom Grad 2Das 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 u=2!! Für ganzzahlige u sind genau zwei ≠0 mit Wert beidemale 1/2, das sind durch die Halbierungspunkte der Seiten des Stützpolygones.

Page 18: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Die Gewichtsfunktion vom Grad 3:

besteht aus vier kubischen Parabeln, mit Breite 4, sonst =0. Alle aufsummiert ergeben 1, aber erst ab u=3!! 

Page 19: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Rekursionsformel von de Boor/Cox/Mansfield

Grad 0: liefert also nur die Punkte zurück.Grad 1: liefert also nur den Streckenzug zurückGrad 2: liefert eine Kurve, die die Polygonseiten in deren Halbierungspunkten berührt, sie beginnt im ersten und endet im letztenGrad 3: liefert eine Kurve ohne besonders ins Auge stechende Eigenschaften

Page 20: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Standard B-Spline in Blender

Add - Curve – NurbsIm Edit Modus

Page 21: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Non 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.

Page 22: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Beispiel: U = < 0,0,0,1,2,3,4,5, ...

Zu sehen sind Ursache und Wirkung: die Kurve geht durch den Mehrfachknoten

Page 23: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Blender

Im Bild der Standard Nurbsoffen und geschlossenIm Editiermodus. 

Page 24: Eine kurze Vorstellung, vor allem an Hand von Beispielen weniger von Theorie und ohne Anspruch auf Vollständigkeit und strenge Wissenschaftlichkeit eben

Nurbs-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 4*4 Gitter aus 16 Punkten.