25. KONFERENCE O GEOMETRII A POČÍTAČOVÉ GRAFICE Ivana Lnkeová SPECIÁLNÍ PŘÍPADY NURBS REPREZENTACE Abstrakt Příspěvek prezentuje B-splne křvku a Coonsovu, Bézerovu a Fergusonovu kubku jako specální případy NURBS reprezentace a uvádí jejch vzájemné vztahy a souvslost. Klíčová slova NURBS, B-splne, Coonsova kubka, Bézerova kubka, Fergusonova kubka Úvod Standardním základem CAD/CAM systémů, se kterým student strojní fakulty přjde do styku jž v průběhu studa ve své odborné prax, je v současné době NURBS reprezentace křvek a ploch. Pro efektvní využtí tohoto vysoce výkonného nástroje je nutné pochopt jeho teoretcký prncp a rozumět zákontostem, kterým se řídí modfkace tvaru vytvořeného modelu. Tento článek, ve kterém jsou uvedeny a na konkrétním příkladu demonstrovány vzájemné vztahy mez NURBS, B-splne, Coonsovou, Bézerovou a Fergusonovou reprezentací, s klade za cíl objasnt souvslost mez modely pro mnohé užvatele CAD/CAM systémů známým (Fergusonova, Bézerova a Coonsova kubka) a těm, které obecně nejsou pokládány za jednoduché (B-splne a NURBS křvka) [2,3]. 2 NURBS reprezentace křvek Tvar NURBS křvky C(u), a u b lze modfkovat čtyřm různým tvarovacím parametry, které je zároveň třeba zadat jako vstupní data př jejím výpočtu. Jsou to: () sére řídcích bodů (řídcí polygon) {P }, =,, n v rovně nebo v prostoru; (2) stupeň křvky p, který může být nejvýše roven n; (3) nezáporné váhy {w }, =,, n jednotlvých řídcích bodů a (4) uzly {u }, =,, m, které tvoří uzlový vektor U. Uveďme nyní několk potřebných defnc a vlastností NURBS reprezentace. Defnce : Nechť U je neklesající posloupnost (m + ) reálných čísel u u u m. Potom čísla u, =,, m nazýváme uzly a množnu U nazýváme uzlovým vektorem.
Ivana Lnkeová Je-l hodnota výrazu u + - u konstantní pro všechna =,,, m -, označujeme uzlový vektor jako unformní, v ostatních případech hovoříme o neunformním uzlovém vektoru. Defnce 2: B-splne bázové funkce N,p (u), a u b stupně p jsou na uzlovém vektoru U = {u }, =,, m defnovány rekurzvním předpsem: u u < u+ N,( u) = jnde () u u u u + p+ N, p ( u) = N, p ( u) + N+, p ( u). u u u u + p + p+ Defnce 3: Nechť je dáno (n + ) řídcích bodů P, P,, P n, kde každému bodu je přřazena nezáporná váha w, =,, n, a uzlový vektor U = {u }, =,, m. Potom NURBS křvka C(u), a u b stupně p je defnovaná předpsem kde ( u) R ( u) C, (2) R = n =, p P N, p ( u) w, p ( u) = n (3) N ( u) w j= j, p j jsou raconální bázové funkce. Součet všech raconálních bázových funkcí pro lbovolnou hodnotu parametru u je roven jedné. Na každém ntervalu uzlového vektoru je nejvýše p + raconálních bázových funkcí nenulových. Počet ntervalů uzlového vektoru m, nejvyšší ndex sére řídcích bodů n a stupeň křvky p musí splňovat rovnost: m = n + p +. V závslost na uzlovém vektoru rozlšujeme tř druhy NURBS křvek: () ukotvenou (clamped), tj. nterpolující koncové body řídcího polygonu, kdy první a poslední uzel má násobnost p + ; (2) otevřenou (open), kde je defnčním oborem pouze nterval [ u p, u m-p ] a (3) uzavřenou (closed), u které se počáteční a koncové řídcí body cyklcky opakují. 3 Specální případy NURBS reprezentace křvek Nejprve uvedeme parametrcké vyjádření B-splne křvky a Coonsovy, Bézerovy a Fergusonovy kubky vycházející z defnce NURBS křvky. Vzájemné souvslost budeme demonstrovat na příkladu s konkrétním zadáním (vz Příklad). +
SPECIÁLNÍ PŘÍPADY NURBS REPREZENTACE Věta : Nechť jsou váhy w, =,, n ve všech řídcích bodech rovny nezáporné konstantě různé od nuly. Potom B-splne křvka C(u) a u b stupně p má parametrcké vyjádření: ( u) N ( u) C, (4) = n =, p P kde N,p (u) jsou B-splne bázové funkce dle (). Věta 2: Nechť jsou dány řídcí body P, P, P 2, P 3 ; váhy w, =,, 2, 3 rovny nezáporné konstantě různé od nuly; unformní uzlový vektor U = {-3, -2, -,,, 2, 3, 4} a stupeň p = 3. Potom výsledná otevřená NURBS křvka v ntervalu u vypočtená dle (2) je Coonsova kubka: ( u) C ( u) C P. (5) = 3 = kde C (u) jsou známé Coonsovy polynomy. Poznámka: Konkrétní hodnoty uzlů jsou zvoleny s ohledem na Coonsovu, Bézerovu a Fergusonovu kubku tak, aby defnčním oborem výsledné otevřené NURBS křvky, a tím zmíněných kubk, byl nterval u [, ]. Věta 3: Jsou-l splněny předpoklady Věty 2, je výsledná NURBS křvka v ntervalu u vypočtená dle (2) Bézerova kubka: ( u) B ( u) C V, (6) = 3 =, n kde B,n (u) jsou Bernstenovy polynomy třetího stupně a V jsou vrcholy řídcího polygonu Bézerovy kubky. Vztah mez {P } a {V } je následující: V = P + [ ( P + P2 ) P ]; V = P + ( P2 P ); 3 2 3 (7) 2 V2 = P + ( P2 P ); V3 = P2 + [ ( P + P3 ) P2 ]. 3 3 2 Věta 4: Jsou-l splněny předpoklady Věty 2, je výsledná NURBS křvka v ntervalu u vypočtená dle (2) Fergusonova kubka: C = V F u + V F u + V F u + F u, (8) ( ) ( ) ( ) ( ) ( ) u 3 2 V3 3 kde F (u) jsou Fergusonovy polynomy a V, resp. V 3 je počáteční, resp. koncový bod Fergusonovy kubky; V', resp. V' 3 je tečný vektor v počátečním, resp. v koncovém bodě Fergusonovy kubky: ( V V ); V = ( V ) V = 3 3 3 3 V2. (9) Vrcholy V, V, V 2, V 3 jsou dány vztahem (7). 4 Příklad Uvažujme čtyř řídcí body P = [-3,], P = [-3,6], P 2 = [3,6], P 3 = [3,], U = {u, u, u 2, u 3, u 4, u 5, u 6, u 7 } = {-3, -2,-,,, 2, 3, 4}, p = 3 a
Ivana Lnkeová jednotkové váhy. Př výpočtu NURBS křvky (2) je třeba vypočítat B-splne bázové funkce (Obr. ), a poté raconální bázové funkce (Obr. 2). Obrázek : B-splne bázové funkce Obrázek 2: Raconální bázové funkce Povšmněme s několka významných skutečností. Vhledem k zadanému uzlovému vektoru se jedná o segmentovanou otevřenou křvku, jejímž defnčním oborem je pouze nterval, na kterém je zajštěna plná podpora
SPECIÁLNÍ PŘÍPADY NURBS REPREZENTACE bázových funkcí, tj. na kterém je právě p + bázových funkcí nenulových. Šedou barvou jsou v Obr. a 2 vyznačeny ty ntervaly uzlového vektoru, na nchž plná podpora bázových funkcí zajštěna není. Defnčním oborem křvky je pouze nterval [u p, u m-p ] = [ u 3, u 4 ] = [, ]. Parametrcké vyjádření NURBS křvky vypočtené dle (2) je následující: Na Obr. 3 je křvka nakreslena včetně okrajových částí odpovídajících ntervalům [-3,) a (,4], které procházejí koncovým body řídcího polygonu, protože R,3 (-3) = R 3,3 (4) = a R,3 (-3) = R 2,3 (4) =. Interpolac koncových bodů nelze zaměňovat s vlastností ukotvené křvky, u které je tohoto jevu dosaženo p + násobností počátečního a koncového uzlu, vz Příklad v []. Parametrcké vyjádření B-splne křvky vypočtené dle (4) je následující: Defnčním oborem otevřené B-splne křvky (Obr. 4) je nterval [u p, u m-p ] = [, ], ostatní část otevřené B-splne křvky jsou gnorovány. Obrázek 3: Otevřená NURBS křvka Obrázek 4: Otevřená B-splne křvka Je vdět, že NURBS B-splne křvka se shodují na ntervalu [, ], gnorované část křvek se lší. Na rozdíl od NURBS křvky, B-splne křvka prochází bodem o souřadncích [, ], protože všechny B-splne bázové
Ivana Lnkeová funkce jsou pro u a u m nulové. Tato skutečnost platí pro otevřenou B-splne křvku obecně, nezáleží an na volbě řídcího polygonu, an na volbě uzlového vektoru. Snadno nahlédneme, že na ntervalu u [, ] jsou raconální B-splne bázové funkce 3. stupně rovny Coonsovým polynomům, z čehož plyne, že úsek křky příslušející tomuto ntervalu je Coonsova kubka. Souvslost mez Coonsovou, Bézerovou a Fergusonovou kubkou je zřejmá z Obr. 5. Obrázek 5 Souvslost mez Coonsovou, Bézerovou a Fergusonovou kubkou Poděkování Tento článek vznkl za podpory projektu CTU 532: NURBS reprezentace křvek a ploch v MAPLE. Lteratura [] Kundrátová, K.: NURBS reprezentace křvek v MAPLE, CGG 5, Janov, 25. [2] Fsher, J. Lowther, J. Shene, Ch. K.: If You Know B-Splnes Well, You Also Know NURBS! SIGCSE 4, Vrgna, 24. [3] Lowther, J. Shene, Ch. K.: Teachng B-splnes Is Not Dffcult! SIGCSE 3, Nevada, 23. [4] Shene, Ch. K.: http://www.cs.mtu.edu/~shene/courses/cs362/ NOTES [5] Pegl, L. Tller, W.: The NURBS Book, Sprnger, Londýn, 995.