Unterteilungskurven und -flächen
Unterteilungskurven und -flächen
Unterteilungskurven und -flächen
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