13.07.2015 Aufrufe

Unterteilungskurven und -flächen

Unterteilungskurven und -flächen

Unterteilungskurven und -flächen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Unterteilungskurven</strong> <strong>und</strong> -flächenMartin PeternellTU Wien30. Fortbildungstagung für Geometrie 2009, Strobl 1


<strong>Unterteilungskurven</strong> – Allgemein• Das wiederholte Unterteilen eines Polygons erzeugt in der Grenze eineglatte Kurve.• Das Unterteilen entspricht dem Abschneiden von Ecken.• Stationäres Unterteilungsschema: in jedem Iterationsschritt wirddieselbe Unterteilungsregel angewendet.• CAD, geometrischen Modellierung, Computergraphik,Computeranimationen in der Filmindustrie (Pixar ... Geri’s Game).30. Fortbildungstagung für Geometrie 2009, Strobl 2


Unterteilung von Bézier-Kurven• Bézier-Kurve b(t) : [0, 1] ↦→ R n• Der Algorithmus von de Casteljau für 0 < τ < 1 liefert dieKontrollpunkte c i = b i 0 <strong>und</strong> d i = b n−ii, für i = 0, . . . , n der Teilkurvenc(t) : [0, τ] ↦→ R n , <strong>und</strong> d(t) : [τ, 1] ↦→ R n .• Es gilt: c(0) = b(0), c(1) = b(τ), d(0) = b(τ), d(1) = b(1),b 2b 1b(τ)b 0b 3c 1c 2 c3 = d 0d 1d 2d 3c 030. Fortbildungstagung für Geometrie 2009, Strobl 3


Algorithmus von de Casteljaub 0 0↘ 1−tb 1 1b 0 2b 0 1 → t b 1 0↘ 1−t↘ 1−tb 1 0b 0 1b 2 0b 3 0 = p(t)b 1 1b 1 2b 0 2 → t b 1 1 → t b 2 0↘ 1−t ↘ 1−t ↘ 1−tb 0 3 → t b 1 2 → t b 2 1 → t b 3 0 = pb 0 0b 0 3p(t) = ∑ ni=0 Bn i (t)b i , mit B n i (t) = ( ni)(1 − t) n−i t i .30. Fortbildungstagung für Geometrie 2009, Strobl 4


Spline-KurvenGrad 7 (Bézier) Grad 5Grad 3 Grad 2B-Spline-Kurven unterschiedlicher Grade zum selben Kontrollpolygon.30. Fortbildungstagung für Geometrie 2009, Strobl 5


B-Spline-Kurven• B-Spline-Kurven wurden ins Computer Aided Design von J. Ferguson(1964) bei Boeing eingeführt.• Eine B-Spline-Kurve vom Grad n besteht aus Bezier-Kurven vom Gradn, welche mit optimaler Glattheit zusammengesetzt sind.Angabe einer B-Spline-Kurve:1. Kontrollpunkte2. Grad3. KnotenDie Knoten unterteilen das zur Parametrisierungverwendete Parameterintervall.Sie sind in CAD-Systemen für den Benutzermeist nicht manipulierbar sondernautomatisch festgelegt.30. Fortbildungstagung für Geometrie 2009, Strobl 6


B-Spline-Kurven – BézierSegmenteB-Spline Grad 2 B-Spline Grad 3 B-Spline Grad 4parametrisiert über den Intervallen[0, 1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5] [0, 1, 2, 3, 4]Im Regelfall (einfache Knoten) gilt:Anzahl der Kontrollpunkte = Grad + Anzahl der SegmenteDie Parameterdarstellung der B-Splines vom Grad k sind stückweisePolynome, jeweils über den angegebenen Intervallen.30. Fortbildungstagung für Geometrie 2009, Strobl 7


Polarform eines PolynomsJedem Polynom f (t) = ∑ ni=0 a it i ist seine PolarformF (t 1 , . . . , t n ) =n∑a i S i (t 1 , . . . , t n )i=0zugeordnet. S i heißen elementarsymmetrische Funktionen.Beispiel: f (t) = a 0 + a 1 t + a 2 t 2 ,S 0 = 1, S 1 (t 1 , t 2 ) = 1 2 (t 1 + t 2 ), S 2 (t 1 , t 2 ) = t 1 t 2F (t 1 , t 2 ) = a 0 1 + a 112 (t 1 + t 2 ) + a 2 t 1 t 2 .30. Fortbildungstagung für Geometrie 2009, Strobl 8


Polarform eines Polynoms (2)Beispiel: f (t) = a 0 + a 1 t + a 2 t 2 + a 3 t 3 ,S 0 = 1, S 1 (t 1 , t 2 ) = 1 3 (t 1 + t 2 + t 3 ),S 2 (t 1 , t 2 ) = 1 3 (t 1t 2 + t 1 t 3 + t 2 t 3 ), S 3 (t 1 , t 2 , t 3 ) = t 1 t 2 t 3F (t 1 , t 2 , t 3 ) = a 0 1 + a 113 (t 1 + t 2 + t 3 ) + a 213 (t 1t 2 + t 1 t 3 + t 2 t 3 ) + a 3 t 1 t 2 t 3 .30. Fortbildungstagung für Geometrie 2009, Strobl 9


Polarform eines Polynoms (3)Die Polarform läßt sich auf jede Koordinate einer polynomialen Kurveanwenden.F(-1,-1)F(1,1)Beispiel: f (t) = (t, t 2 ),( )1F (t 1 , t 2 ) =2 (t 1 + t 2 ), t 1 t 2 .yF(t,t)F(1,t)xF (−1, −1) = (−1, 1),F (−1, 1) = (0, −1),F(-1,t)F (1, 1) = (1, 1).F(-1,1)30. Fortbildungstagung für Geometrie 2009, Strobl 10


Eigenschaften der Polarform eines PolynomsSei f (t) ein Polynom vom Grad n <strong>und</strong> F (t 1 , . . . , t n ) die entsprechendePolarform.• F (. . .) ist multiaffin, d.h.F (. . . , αx + βy, . . .) = αF (. . . , x, . . .) + βF (. . . , y, . . .).• F (. . .) ist symmetrisch, d.h.F (. . . , x, . . . , y, . . .) = F (. . . , y, . . . , x, . . .).• F(t, . . . , t) = f(t).30. Fortbildungstagung für Geometrie 2009, Strobl 11


Polarform von Bézier-Kurven(0, 1, t)(0, 1, 1)Die Auswertung derPolarform für die Werte0, 1 liefert die Kon-(0, 0, 1)(0, t, t)(t, t, t)(1, t, t)trollpunkte der Bézier-Kurve, dargestellt über(0, 0, t)(1, 1, t)dem Intervall [0, 1].(0, 0, 0)(1, 1, 1)30. Fortbildungstagung für Geometrie 2009, Strobl 12


Polarform von B-spline Kurven (Grad 2)(0,1) (1,1) (1,2) (4,4)(1,2)(2,2)(2,3)(2,2)(1,1)(3,3)(0,0)(2,3)(3,3)(3,4)(0,1)(0,0)=(4,4)(3,4)0 1 2 3 40 1 2 3 4uniformer Knotenvektor30. Fortbildungstagung für Geometrie 2009, Strobl 13


B-spline Kurve über verfeinertem Knotenvektor(2,4)(4,6)(3,4) (4,5)(2,3)(5,6)(1,2)(6,7)(0,2)(6,8)(0,1)(7,8)0 2 4 6 8 0 1 2 3 4 5 6 7 830. Fortbildungstagung für Geometrie 2009, Strobl 14


UnterteilungsregelnEin Unterteilungsschritt besteht aus• Punkte einfügen• k mal Mitteln (→ B-splines vom Grad k − 1)30. Fortbildungstagung für Geometrie 2009, Strobl 15


Quadratische B-spline KurvenUnterteilenMittelnBerechnung neuer Punkte:p k+12i= 3 4 pk i + 1 4 pk i+1p k+12i+1= 1 4 pk i + 3 4 pk i+1Algorithmus von Chaikin.Level1 Level2 Level3 Limit30. Fortbildungstagung für Geometrie 2009, Strobl 16


Kubische B-Spline Kurven durch UnterteilenAlgorithmus von Lane-Riesenfeld: 1× Unterteilen <strong>und</strong> k − 1× MittelnUnterteilen 2× Mitteln LimitDie Grenzkurve ist eine kubische B-Spline-Kurve.30. Fortbildungstagung für Geometrie 2009, Strobl 17


Kubische B-Spline-Kurve: verfeinerter Knotenvektor(4, 5, 6)(2, 4, 6) (4, 6, 8) (3, 4, 5) (5, 6, 7)(2, 3, 4) (6, 7, 8)(0, 2, 4)(6, 8, 10) (1, 2, 3)(7, 8, 9)(0, 1, 2) = (8, 9, 10)[0, 2, 4, 6, 8] [0, 1, 2, 3, 4, 5, 6, 7, 8]30. Fortbildungstagung für Geometrie 2009, Strobl 18


Verallgemeinerung von Chaikin: Doo-SabinAnwendung des Algorithmus von Chaikin auf die Zeilen <strong>und</strong> Spalten lieferteinen Unterteilungsschritt von Doo-Sabin:Spaltenpolygoneneue Zeilenpolygoneneue SpaltenpolygoneDie Grenzfläche ist B-Spline-Fläche vom Grad (2,2).30. Fortbildungstagung für Geometrie 2009, Strobl 19


Unterteilungsregeln für Doo-SabinBerechnung der neuen Punkte:a 1 = 9 16 a + 3 16 b + 3 16 d + 1 16 cd1:c3/16d1/16c2:1aa 1b1 a 12: a b1: 9/16 3/16Die Grenzfläche enthält die Schwerpunkte der Vierecksmaschen.30. Fortbildungstagung für Geometrie 2009, Strobl 20


Beispiel für Unterteilung nach Doo-SabinEigene Unterteilungsregeln für nicht-viereckige Netzmaschen, → irregulärePunkte der Grenzfläche.30. Fortbildungstagung für Geometrie 2009, Strobl 21


Verallgemeinerung von Lane-Riesenfeld:Catmull-ClarkAnwendung des Algorithmus von Lane-Reisenfeld auf die Zeilen <strong>und</strong>Spalten liefert einen Unterteilungsschritt von Catmull-Clark. Dies entspricht• neuer Punkt pro Masche,• neuer Punkt pro Kante,• neuer Punkt pro Ecke.Die Grenzfläche ist B-Spline-Fläche vom Grad (3,3).30. Fortbildungstagung für Geometrie 2009, Strobl 22


Unterteilungsregeln für Catmull-ClarkBerechnung neuer Punkte:s = 1 4 a + 1 4 b + 1 4 d + 1 4 c,p = 116 (a + b + e + f ) + 3 8(c + d),v = analog .f1/161/16ed1/41/4cd3/8p3/8c1/643/321/64s3/32v9/163/32a1/4 1/4ba1/16 1/16b1/64 3/32 1/6430. Fortbildungstagung für Geometrie 2009, Strobl 23


Doo-Sabin versus Catmull-ClarkDoo-SabinCatmull-ClarkVielen Dank für Ihre Aufmerksamkeit!30. Fortbildungstagung für Geometrie 2009, Strobl 24


Das 4-Punkt-Schema• Datenpunkte p i• Wir konstruieren eine Folge von Polygonen, welche die Punkte p ienthalten <strong>und</strong> gegen eine glatte Kurve konvergieren.p ineup ip i+1p i-1p i+2• Für je vier aufeinanderfolgende Punkte p i−1 , p i , p i+1 , p i+2 wird einneuer Punkt konstruiert,p neui= − 1 16 p i−1 + 9 16 p i + 9 16 p i+1 − 1 16 p i+1.p neui ist der Punkt zu t = 1 2 der kubischen Kurve durch p i−1, p i , p i+1 , p i+1<strong>und</strong> den Parameterwerten 0, 1 3 , 2 3 , 1.30. Fortbildungstagung für Geometrie 2009, Strobl 25


Das 4-Punkt-Schema (2)p neui ist der Punkt zu t = 1 2 der kubischen Kurve durch p i−1, p i , p i+1 , p i+1<strong>und</strong> den Parameterwerten 0, 1 3 , 2 3 , 1.• Das 4-Punkt-Schema kann verallgemeinert werden zup neui = −wp i−1 + ( 1 2 + w)p i + ( 1 2 + w)p i+1 − wp i+1 .• 1986: Kurve ist glatt (C 1 ) für w = 1/16 = 0.0625.• 1987: Kurve ist glatt (C 1 ) für 0 < w < 1/8 = 0.125.• 1991: Kurve ist glatt (C 1 ) für w < ( √ 5 − 1)/8 ≈ 0.154.• . . .• 2009: Kurve ist glatt (C 1 ) für w < w ⋆ , mit w ⋆ ≈ 0.19273 alsNullstelle des Polynoms 32w 3 + 4w − 1.30. Fortbildungstagung für Geometrie 2009, Strobl 26

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!