3. Bézer görbék 3.1. A Berste polomok 3.1. Defícó. Legye emegatív egész, tetszőleges egész. A ( ) B (u) = u (1 u) polomot Berste polomak evezzük, ahol ( ) = {!!( )! 0, 0 egyébkét. A defícóból közvetleül leolvasható, hogy a Berste polomok emegatívak a [0, 1] tervallumo, poztívak a (0, 1) tervallumo. Telesül továbbá az alább szmmetra tuladoság: B (u) = B (1 u). 1 1 0 1 0 1 1. ábra. Negyedfokú és ötödfokú Berste polomok a [0,1] tervallumo. 3.2. Tétel. A Berste polomok kelégítk az alább rekurzót: (B1) B 0 0 = 1, B (u) = (1 u)b 1 (u) + ub 1 1 (u), továbbá B (u) = 0, / {0,...,}. 1
Bzoyítás. Az első és az utolsó formula ylvávaló. A másodk állítás bzoyításához felhaszáluk a bomáls együtthatókra feálló rekurzív formulát: ( ) ( ) ( ) 1 1 = +. 1 Tehát ( ) B (u) = u (1 u) ( ) ( ) 1 1 = u (1 u) + u (1 u) 1 ( ) ( ) 1 1 = (1 u) u (1 u) 1 +u u 1 (1 u). 1 }{{}}{{} B 1 (u) B 1 1 (u) 3.3. Tétel. A Berste polomok egységbotást alkotak, azaz (B2) =1 B (u) = 1. Bzoyítás. Alkalmazzuk a bomáls tételt: ( 1 = [u + (1 u)] = 3.4. Tétel. A Berste polomok derválta: (B3) ) u (1 u) = d du B (u) = [ B 1 1 (u) B 1 (u) ]. B (u). Bzoyítás. A szorzatfüggvéy derválás szabálya szert: d du B (u) = d ( ) u (1 u) = du =!!( )! u 1 (1 u) ( )!!( )!) u (1 u) 1 = ( 1)! = ( 1)!( )! u 1 (1 u) ( 1)!!( 1)! u (1 u) 1 = = [ B 1 1 (u) B 1 (u) ]. 3.5. Következméy. 0, eseté a B polomak u = -él lokáls maxmuma va. 3.6. Tétel. B k (u t) = =k B (u) B k (t 0). 2
1 0 1 2. ábra. A Berste polomok csúcsosodó tuladosága a lokáls maxmum körül: B 1, ( = 1...16) grafkoa. 3.2. Bézer görbék 3.7. Defícó. A (p 0,p 1...,p ) kotrollpotokhoz tartozó Bézer görbe alatt a (3.1) B: [0,1] R N, B(u) = görbét értük. A =1 B (u)p [p 0,p 1 ] [p 1,p 2 ]... [p 1,p ] töröttvoalat a görbe kotrollpolgoáak evezzük, míg a görbe fokszáma. p 1 p 3 p 0 p 2 3. ábra. Harmadfokú Bézer görbe és a kotrollpolgoa 3.8. Tétel. Mde Bézer görbe redelkezk az alább tuladoságokkal: 1. Aff varaca: ha F : R N R N aff leképezés, akkor F(B(u)) = =1 B (u)f(p ); 3
2. Kovex burokba maradás: mde u paraméterértékre telesül, hogy B(u) cov{p 1,...,p } 3. Végpot terpolácó: B(0) = p 0, B(1) = p. 4. Szmmetra: B (u)p = B (1 u)p. Bzoyítás. 1. Legye F leárs része φ, eltolás része τ v, azaz F(x) = φ(x) + v. F ( B (u)p ) = = B (u)φ(p ) + v = B (u)(φ(p ) + v) = B (u)φ(p ) + B (u)f(p ). B (u)v = 2. Következk oa, hogy (3.1) mde u [0, 1] paraméterértékre egy kovex leárs kombácó, azaz az együtthatók emegatívak és összegük egy. 3., 4. A Berste polomok tuladoságaból azoal következk. Példa. = 2. Belátuk, hogy három em kolleárs kotrollpot által meghatározott Bézer görbe egy parabolaív. p(u) = (1 u) 2 p 0 + 2u(1 u)p 1 + u 2 p 2. Helyezzük el egy Descartes koordáta-redszert a következőképpe: legye p 1 = 0, az y tegely ráyvektora pedg p 0 + p 2. p 0 koordátá legyeek ( a,b), p 2 = (a,c). Ekkor, p(u) koordáta-függgvéyet x(u)-val és y(u)-val elölve: x(u) = a(1 u) 2 + au 2 = a(2u 1) y(u) = b(1 u) 2 + cu 2 = u 2 (c + b) 2ub + b. Az első egyeletből u = x+a 2a, amt a másodk egyeletbe beírva: ( ) x + a 2 y = (c + b) x + a 2a a b + b, am egy parabola egyelete. Példa. A p 0, p 1, p 2, p 3 kotrollpotokhoz tartozó harmadfokú Bézer görbe geometra együttható: p(0) = p 0, p(1) = p 1, p (0) = 3(p 1 p 0 ), p (1) = 3(p 3 p 2 ). A harmadfokú Bézer görbék és a korábbakba tárgyalt szté harmadfokú Hermte görbék között cs külöbség, az előállításhoz haszált polombázs más. 4
3.3. Bézer görbe derválta Határozzuk meg a p(u) = B (u)p Bézer görbe derváltát (sebersség vektormezőét)! Felhaszálva a Berste polomok derváltára kapott (B3) összefüggést: A zérus tagokat elhagyva: p (u) = p (u) = B 1 =1 Az első tagba az dexet traszformálva: tehát p 1 (u) = B 1 [ B 1 1 (u) B 1 (u) ] p. 1 1 (u)p 1 (u)p +1 B 1 (u)p. B 1 (u)p, p 1 (u) = B 1 (u)(p +1 p ). Bevezetve a p = p +1 p elölést: p 1 (u) = B 1 (u) p. Hasoló módo számíthatuk k a magasabb redű derváltakat. 3.9. Defícó. Legyeek p 0,...,p adott kotrollpotok, 0 p = p, r p = r 1 p +1 r 1 p ( = 0,..., r; r = 1,...,). A r p (r = 0,...,, = 0,..., r) vektorokat az adott kotrollpot sorozat r- dfferecáak evezzük. 3.10. Tétel. r p = r =0 ( ) r ( 1) r p +. 5
p 3 p 2 p 0 p 1 4. ábra. A de Castelau algortmus 3.11. Tétel. Bézer görbe r-edk derválta olya Bézer görbe, melyek kotrollpota az eredet görbe kotrollpotaval kfeezve:! ( r)! r p, ( = 0,..., r). Azaz: p (r) (u) =! r ( r)! B r (u) r p (u [0,1]). 3.4. A de Castelau algortmus Ebbe a részbe a Bézer görbékek egy geometralag motvált, tutív származtatását aduk meg, amely Paul de Castelau evéhez fűződk (1959). A Bézer görbék elméletét eze geometra származtatás alapá s le lehet ír. 3.12. Tétel. Legyeek adva a p 0,...,p kotrollpotok, az általuk meghatározott Bézer görbe p, u [0,1]. Legye továbbá p 0 0 = p 0,...,p 0 = p és Ekkor p r = (1 u)p r 1 +tp r 1 +1, = 0,..., r; r = 1,...,. (3.2) p = B k (u)p +k, k=0 specálsa p 0 p. 6
Bzoyítás. A (3.2) relácót szert teles dukcóval látuk be. = 0-ra p 0 = p defícó szert gaz. p +1 = (1 u)p + up +1 = = (1 u) = (1 u) s=0 s=0 B sp +s + u B sp +s + u = (1 u)b 0 (u)p + (1 u) + u s=1 s=0 +1 s=1 s=1 B s(u)p +s+1 = B s 1 (u)p +s = B s(u)p +s + B s 1 (u)p +s + ub (u)p + +1 = = B +1 0 (u)p + = B +1 0 (u)p + = +1 s=0 s=1 s=1 Bs +1 (u)p +s. [(1 u)b s(u) + ub s 1 (u) ] p +s + B +1 +1 (u)p + +1 = B +1 s (u)p +s + B +1 +1 (u)p + +1 = A tételbe szereplő p potokat de Castelau potokak evezzük. 3.13. Tétel (Bézer görbe felosztása). Legye p : [0,1] R N a p 0,...,p kotrollpotokhoz tartozó Bézer görbe, t [0,1] rögzített. Legye p : [0,1] R N, p (u) = p(ut), p + : [0,1] R N, p + (u) = p(t + u(1 t)). Ekkor p és p + szté -edfokú Bézer görbék, továbbá p kotrollpota az eredet görbe t paraméterértékhez tartozó de Castelau potaval kfeezve: míg p + kotrollpota: p 0 = p 0 0,p1 0,...,p(t) = p 0 ; p(t) = p 0,p 1 1,...,p 1 1,p = p 0. 7
p 1 p 2 p 1 p 2 p 0 p 3 p 0 p 1 p 2 p 3 p 0 p 3 5. ábra. Harmadfokú Bézer görbe razolása a de Castelau algortmus alapá. A felező algortmust 5-ször, 7-szer, 9-szer végrehatva. Bzoyítás. A bzoyítást a p görbére végezzük el. A (3.2) relácót haszálva: B (u)p 0 = B (u) = = k k=0p k=0 B k (t)p k = B (u) B k (t) = B k (u t)p k = p(u t) k=0 k=0 B (u) B k (t)p k = k B k=0p (u) B k (t) = =k A de Castelau algortmus alapá számítógéppel agyo hatékoya lehet Bézer görbét razol. t = 1/2 értékre az algortmus sorá csak 2-vel kell oszta, am a kettes számredszerbe agyo egyszerű. Kszámítuk és krazoluk az t = 1/2-hez tartozó de Castelau potot. Nevezzük ezt a görbe felezőpotáak. Ez a pot a görbét az előző tétel szert két Bézer görbére oszta, amelyek kotrollpotat smerük, az algortmus végrehatása sorá kszámítottuk. Meghatározzuk és krazoluk mdkét görbe felezőpotát és az elárást tovább folytatuk a keletkezett égy Bézer görbére, és így tovább, mdaddg, amíg az egymást követő potok a praktkus géyekek megfelelő közelségbe leszek. (Például szemmel már em lehet potokét megkülöböztet azokat, 5. ábra.) 4. Bézer görbe fokszám emelése Egy boyolultabb szabadformáú görbe Bézer-típusú modellezéséhez két fő stratéga vezethet. Az egyk, hogy több kotrollpot veszük föl, és ezáltal alakítuk a görbét, a másk, hogy több, alacsoy fokszámú görbét llesztük egymáshoz megfelelő feltételekkel. (És persze ezeket lehet kombál.) A több kotrollpot 8
fölvételéek az ára a magasabb fokszám, egyk előye vszot az egész görbe akárháyszor dfferecálhatósága. (Eek következméyekét a görbület folytoos változása) A magasabb fokszámot s megegedő modellezés egyk fotos techkáa, hogy a valahogya már kalakított -edfokú félkész görbét előállítuk + 2 kotrollpottal s (azaz a fokszámot eggyel megövelük) és a több kotrollpottal a görbét fomabba alakítuk tovább. Legye tehát p a p 0,p 1,...,p kotrollpotokhoz tartozó Bézer görbe. Keressük a q 0,q 1,...,q +1 kotrollpotokat, hogy az ezekhez tartozó Bézer görbe szté p. Nylvá p 0 = q 0 és p = q +1. Tehát azaz B (u)p = ( ) u (1 u) p = +1 Szorozzuk meg a bal oldalt u + (1 u)-val: +1 B +1 (u)q, ( + 1 ( ) [u +1 (1 u) + u (1 u) +1 ] p = ) u (1 u) +1 q. +1 ( + 1 u (1 u) +1 együtthatóát összehasolítva mdkét oldalo: ( ) ( ) ( ) + 1 p 1 + p = q, = 1,...,. 1 ) u (1 u) +1 q. A bomáls együtthatók defícóát beírva és a lehetséges egyszerűsítéseket elvégezve adódk a következő állítás. 4.14. Tétel. Legye p : [0,1] R N a p 0,...,p kotrollpotokhoz tartozó Bézer görbe, továbbá q 0 = p 0, q +1 = p és q = ( + 1 p 1 + 1 ) p (1 ). + 1 Ekkor a q 0,...q +1 kotrollpotokhoz tartozó Bézer görbe szté p. 9
p 1 p 1 q 1 q 2 p 0 = q 0 p 2 q 3 p 0 p 2 p 3 = q 4 p 3 4.1. Bézer görbék csatolása 6. ábra. Bézer görbe fokszám emelése A p 0,p 1,...,p,...,p 2 kotrollpotokhoz most egy összetett Bézer görbét, vagys szplát llesztük. A p 0,...,p kotrollpotokhoz tartozó Bézer görbe legye p 1 (u), a p,...,p 2 kotrollpotokhoz tartozó Bézer görbe pedg p 2 (u), u [0,1]. A két görbe fokszáma tehát megegyezk. Emlékeztetük arra, hogy p 1 (u) C r osztályba csatlakozk p 2 (u)-hoz, ha p () 2 (0) = p() 1 (1) telesül = 1,...,r-re. A Bézer görbe derváltára voatkozó összefüggés szert eek szükséges és elégséges feltétele, hogy (4.1) p = p, = 1,...,r telesülö. Specálsa C 1 osztályú csatlakozás eseté ez azt elet, hogy (4.2) p = 1 2 (p +1 + p 1 ); C 2 osztályú csatlakozás eseté pedg emellett (4.3) p +2 2p +1 = 2p 1 + p 2. A (4.2) geometra eletése egyszerű: a p pot a [p 1,p +1 ] szakasz felezőpota. A (4.3) geometra eletése pedg az, hogy létezk olya q pot, hogy (4.4) p 1 = 1 2 (p 2 + q), p +1 = 1 2 (p +2 + q). Másodfokú Bézer görbék C 1 osztályú csatolásáál tehát a következőképpe árhatuk el. Szabado fölvehetük a p 0,p 1,p 3,p 5,...,p 2l 1,p 2l 10
kotrollpotokat, a háyzó páros dexűeket pedg az egymást követő páratla dexűek felezőpotába vesszük fel. Az így meghatározott B(p 0,p 1,p 2 ),B(p 2,p 3,p 4 ),...,B(p 2l 2,p 2l 1,p 2l ) Bézer görbék egymáshoz C 1 osztályba csatlakozó kvadratkus Bézer görbék leszek. Harmadfokú Bézer görbék esetébe ugyaezt az elvet alkalmazva, szabado fölvehetük a p 0,p 1,p 2, p 3,p 4,p 5, p 6,...,p 3l 2,p 3l 1,p 3l kotrollpotokat (a kalap a kotrollpot háyát elöl), a háyzó p 3 kotrollpotokat pedg a felezőpot szabályt alkalmazva, a szomszéda felezőpotakét. Most megmutatuk, hogy adott B(p 0,p 1,p 2,p 3 ) Bézer görbeívhez hogya kell C 2 osztályba csatlakozó B(p 3,p 4,p 5,p 6 ) Bézer görbeívet kostruál. A (4.2) feltétel szert p 4 -et úgy kapuk, hogy p 2 -t tükrözzük p 3 -ra. A (4.4) feltétel most: p 2 = 1 2 (p 1 + q 1 ), p 4 = 1 2 (p 5 + q 1 ). p 1 -et p 2 -re tükrözve megkapuk q 1 -t, mad q 1 -t p 4 -re megkapuk p 5 -öt. p 6 szabado fölvehető. Az elárást tovább folytathatuk, am azt elet, hogy a p 3,p 6,...,p 3l,... csatlakozás potokat szabado kelelölhetük, de egyébkét a görbét p 0,p 1,p 2 már meghatározza. Egy másk elárás a következő, ú. Böhm szerkesztés. A B(p 3 3,p 3 2,p 3 1,p 3 ) Bézer görbe meghatározza a q segédpotot: (4.5) q = p 3 2 2p 3 1, = 1,...,l; legye továbbá A (4.4) egyeletet alkalmazva q 0 = p 2 2p 1. (4.6) q = p 3 1 2p 3 2, = 1,...,l. (4.5)-ből és (4.6)-ból (4.7) lletve (4.3) szert p 3 2 = 2 3 q 1 + 1 3 q p 3 1 = 1 3 q 1 + 2 3 q, = 1,...,l, p 3 = 1 2 p 3 1 + 1 2 p 3+1, = 1,...,l 1. Így p 0, q 0,...,q l és p 3l a szplát egyértelműe meghatározza: p 3 1 és p 3 2 a [q 1,q ] szakasz harmadolópota. 11
q 2 q 1 q 0 p 0 p 9 q 3 7. ábra. A Böhm szerkesztés 12