Křvky a plochy II Petr Felkel Katedra počítačové grafky a nterakce, ČVUT FEL místnost KN:E-4 na Karlově náměstí E-mal: felkel@fel.cvt.cz S požtím materálů Bohslava Hdce, Jaroslava Slopa a úprav Vlastmla Havrana Poslední změna:.5.206
Křvky a plochy II Křvky složené z obloků (B-splne křvky) a) Unformní kbcký B-splne (Coonsův) b) Nenformní kbcký B-splne (Uzlový vektor a konstrkce bázových fnkcí) c) Nenformní kbcký raconální B-splne (NURBS) NURBS plochy 2
Splne Splne = dlohý prožek dřeva nebo kov [Lngea Lexcon 02], křvítko hladce se ohýbá (se spojto drho dervací) = obecněj lbovolná polynomální křvka Splne třídy C n = křvka, která smlje chování křvítka skládá se ze segmentů segmenty jso polynomální křvky (stpně n+) Q (0) segment zel Q () = Q 2 (0) segmenty napojení segmentů (zly, knots) mají C n spojtost, tj. mají spojté 0,,, n-té dervace Q 2 ()
Splne [Leven PhD 2009] 4
Splne nejčastěj kbky V grafce se nejčastěj požívají splne křvky třídy C 2 jso dostatečně hladké (parametrcká spojtost C 2 ) zvládno S-tvar lze je počítat (stpeň křvky n = (kbky) => řád aproxmace k = 4 vz dále) Největší problém: NOTACE (každý pramen troch jnak) 5
Splne a B-splne splne - obloky, které procházejí opěrným body => nterpolační křvka - řešení sostav rovnc -změna polohy bod ovlvní celo křvk (global control) B-splne ( B = bass) - neprochází zadaným body => aproxmační křvka - dosazení řídících bodů do vzorce (mísí se v poměr daném bázovým fnkcem) -změna polohy bod ovlvní jen malé okolí bod (local control) 6
Splne - mnosnova B-splne křvky - nformní B-splne - nenformní B-splne - raconální nenformní B-splne (NURBS) Notace je stpeň polynom křvky (např. = -> kbky) je řád křvky k=n+ =počet bodů defnjících jeden oblok maxmální ndex řídícího bod (pro jeden oblok je =) + počet řídících bodů P,P,,P,, parametr 7
a) Unformní kbcký B-splne 8
Unformní kbcký B-splne Unformní kbcký B-splne (Coonsův kbcký B-splne) vznkne navázáním Coonsových kbckých křvek p 2 p 5 p Q () Q 4 () Q 5 () p 4 = = 4 =5,6 p 0 p Oblok Q rčen body P 0, P, P 2, P násobeným bázem C 0 C C 2 C Oblok Q 4 rčen body P, P 2, P, P 4 násobeným bázem C C 2 C C 4 Oblok Q 5 rčen body P 2, P, P 4, P 5 násobeným bázem C 2 C C 4 C 5 9
Unformní kbcký B-splne Coonsova kbka jeden segment samostatně Řídcí body p j, j = 0,, 2, Q() p C j(),.., j j 0 0 C 0 () =/6 (-), C () = /6 ( 6 2 + 4), C 2 () = /6 (- + 2 + + ), C () = /6, 0 (Pro složky x, y a z) p 0 p Q (0) 4 6 6 C C 2 C 0 C 0 p 2 Q () p 0
Unformní kbcký B-splne Coonsova kbka jeden -tý segment jako část B-splne křvky =,4,,m Řídcí body p k, k = -+j, j = 0,, 2, Q() p j C j(), 0.., j 0 C - () = /6 ( - ), C -2 () = /6 ( 6 2 + 4), C - () = /6 (- + 2 + + ), C () = /6, 0 p -2 Q (0) 4 6 6 C -2 C - C - C 0 Q Q () p - kde Q je segment B-splne kbky P je řídící bod C je bázová fnkce (vlv bod P ) p - p
Unformní kbcký B-splne Coonsova kbka -tý segment jako část B-splne křvky matcově 2,.. (), C p () Q j j j - 0 0 C - () = /6( ) = /6(- + 2 +) C -2 () = /6 ( 6 2 + 4), C - () = /6 (- + 2 + + ), C () = /6, 0 t t t t P P P P Q 2 2 0 4 0 0 0 6 6 ] [ ) ( C - po slopcích T Cp Q ) ( t t t t P P P P 2 p ) ( 2 C - C -2 C - C Matcově t z y x P
Unformní kbcký B-splne Coonsova kbka -tý segment jako část B-splne křvky matcově t t t t P P P P Q 2 2 0 4 0 0 0 6 6 ] [ ) ( C - po slopcích T Cp Q ) ( ) ( 2 t t t t P P P P Q 2 2 0 6 0 0 0 4 6 ] [ ) ( 2 ) ( Varanta a) Varanta b) Varanty záps dvě různá pořadí řádek matce
Unformní kbcký B-splne Coonsova kbka bázové fnkce v jednom nterval C C 2 vlv bod P vlv bod P 2 vlv bod P 0 C 0 C 0 vlv bod P p p 2 Q (0) Q () p 0 p 4
Unformní kbcký B-splne Coonsův kbcký B-splne bázové fnkce z pohled vlv bodů vlv bod P 0 vlv bod P vlv bod P 2 vlv bod P C C 2 C 0 C 0 p p 2 Q (0) Q () p 0 p 5
Unformní kbcký B-splne Coonsův kbcký B-splne bázové fnkce z pohled vlv bodů vlv bod P vlv bod P 2 vlv bod P vlv bod P C 2 C C - C + p 2 p Q (0) Q () p p 6
Unformní kbcký B-splne Coonsův kbcký B-splne bázová fnkce vlv jednoho bod vlv bod P C C 2 C C 2 C 0 C + +2 Bod má vlv na dva ntervaly nalevo a dva napravo (dál ž ne, dál je vlv 0) 7
Unformní kbcký B-splne Coonsův kbcký B-splne bázové fnkce vlv jednoho bod vlv bod P + +2 + +4 Bod má vlv na dva ntervaly nalevo a dva napravo (stpeň křvky je n=, řád je k=4 a to je počet ovlvněných ntervalů) Obecně ovlvní ntervalů, nalevo napravo 8
Unformní kbcký B-splne Coonsův kbcký B-splne bázové fnkce z pohled bod vlv bod P C ( ) C 2 C 2 ( + ) C ( +2 ) C 0 C C 0 ( + ) + +2 + +4 Bod má vlv na dva ntervaly nalevo a dva napravo Vektor hodnot tvoří zlový vektor Pro nformní B-splne se krok parametr ( + ) rovná konstantě, typcky 9
Unformní kbcký B-splne jeden oblok Bázové fnkce pro kbcký B-splne (k=4) a zlový vektor B 0 () B () B 2 () B () m = 0 2 4 5 6 7 Q () Na nakreslení jednoho oblok v nterval -4 potřebjeme 4 řídící body + 4 bázové fnkce Na defnc 4 bázových fnkcí potřebjeme navíc ntervaly nalevo a ntervaly napravo - ++=7 ntervalů, ty mají 8 konců = počet ř.bodů + řád k Proto má zlový vektor na obo koncích ntervaly navíc Uzlový vektor [0,,2,,4,5,6,7] - délka 4+4=8, kreslí se od k- do m+, tj. od do 4 2
Unformní kbcký B-splne Unformní kbcký B-splne (Coonsův kbcký B-splne) p 2 p 5 p Q () Q 4 () Q 5 () p 4 p 0 p P 0, P,, P m Řídící body, m je maxmální ndex m + Počet řídících bodů = počet požtých bází B () m 2 Počet segmentů B-splne křvky (obloků) m +5 počet zlů v zlovém vektor (počet bodů + řád k = m++4) k = 4 je řád křvky (kbka, stpeň n=, řád k = n+ = 4) Př. body P 0, P,, P 5, m=5, 6 řídících bodů, segmenty, 0 zlů 22
Unformní kbcký B-splne Bázové fnkce pro kbcký B-splne (k=4) a zlový vektor B 0 () B () B 2 () B () B 4 () B 5 () 0 2 4 5 6 7 8 9 Řídící body P 0 P P 2 P P 4 P 5 Uzlový vektor [0,,2,,4,5,6,7,8,9] - rozsah parametr pro defnc bázových fnkcí (vz dále) 2
Unformní kbcký B-splne Bázové fnkce pro kbcký B-splne (k=4) a zlový vektor B 0 () B () B 2 () B () B 4 () B 5 () 0 2 4 5 6 7 8 9 Rozsah parametr vykreslené křvky ( obloky) 6 bodů na segmenty => 6 bázových fnkcí (jedna 6x posntá) Uzlový vektor [0,,2,,4,5,6,7,8,9] délky 6+4 = 0 (krok = => nformní) Požje se na defnc bázových fnkcí (6 fcí, 0 zlů) - vz dále Kreslí se od k- do m+, tj. od do 6 Q () Q 4 () Q 5 () 24
Konstrkce bázových fnkcí Prncp konstrkce bázových fnkcí f (t) Lneární nterpolace bodů A,B t=0 t x(t) -t t= B (P ) x(t) = (-t). A + t B A (P 0 ) Zobecnění lneární nterpolace - A, B jso fnkce parametr t f(t) = (-t) f 0 (t) + t f (t) Pls reparametrzace z rozsah t t t 2 do 0 t t' t t 2 t t 0 t 0 t t t 2 25
Konstrkce bázových fnkcí Konstrkce bázových (mísících) fnkcí f (t) dále je značíme N,k!!! Obr. zjednodšen na ekvdstantní dělení nterval parametr t f f 2 f k= (řád B-splne) 0 2 4 5 t f 2 f 2 k=2 z lneárních fcí 0 2 4 5 f t k= (z kvadrk) 0 2 4 5 t 26
Nenformní kbcký B-splne B-splne fnkce (báze) Uzlový vektor T [t t 0, t t,..., t k, t k...t m, t,... t pro 0,..., m k B-splne fnkce N,k (t) řád k algortms Cox de Boor m mk ]. pro k N 2. pro k N,,k (t) (t) 0 t t t pro ostatní t Lneární nterpolace bází s k (t t ) (tk t) N, k-(t) N (t t ) (t t ) k- pro kde 0,,..., m k, k- (t), 27
Algortms Cox de Boor B-splne fnkce N,k (t) rozepsané do řád k = 4 N N N N,, 2,, 4 (t) (t) (t) (t) pro t t t 0 pro ostatnít (t-t ) N (t), (t -t ) (t-t ) N (t), 2 (t -t ) 2 (t-t ) N (t), (t -t ) kde 0,,..., m Defnováno 0/0 = 0 (t (t (t (t (t (t 2 4 t) 2 N t ) t) N t ) t) 4 N t ),, 2, (t), (t), (t), Lneární nterpolace bází nžšího řád vlevo vpravo t t t t + t +2 vlevo vpravo t t t + t + t +4 Dvojce ntervalů posntých o, které se překrývají t 28
Konstrkce bázových fnkcí,2 0,8 0,6 0,4 0,2 N, N+, N+2, N,2 N+,2 N, 0-0,2 0 0,5,5 2 2,5,5 29
Konstrkce bázových fnkcí,2 0,8 0,6 0,4 0,2 N, N+, N+2, N,2 N+,2 N, 0-0,2 0 0,5,5 2 2,5,5 0
Konstrkce bázových fnkcí,2 0,8 0,6 0,4 0,2 N, N+, N+2, N,2 N+,2 N, 0-0,2 0 0,5,5 2 2,5,5
Konstrkce bázových fnkcí,2 0,8 0,6 0,4 0,2 N, N+, N+2, N,2 N+,2 0-0,2 0 0,5,5 2 2,5,5 2
Konstrkce bázových fnkcí,2 0,8 0,6 0,4 0,2 N,2 N+,2 roste KLES * N,2 * N+,2 0-0,2 0 0,5,5 2 2,5,5
Konstrkce bázových fnkcí,2 0,8 0,6 0,4 0,2 N,2 N+,2 * N,2 * N+,2 N, 0-0,2 0 0,5,5 2 2,5,5 4
Vlastnost bázových fnkcí N,k Vlastnost B-splne fnkcí N,k (t). Poztvta: N,k (t) >= 0 pro všechna,k a t. 2. Doplňjí se do jednčky: N,k (t) =, pro 0, m+k t t 0, t m+k. Lokalta: N,k (t) = 0, pro všechna t (t, t +k ) - tj. pro k úseků 4. Dferencovatelnost: C 0,C,..,C k-2 Pro t < t < t + jso (k-2) krát spojtě dferencovatelné. (třídy C k-2 ) Pro p-násobný zlový bod t je v bodě t (k-p-) krát spojtě dferencovatelná. C 0,C,..,C k-p- 5. Jedné maxmm: N,k (t) ho má pro všechna = 0,,...m, a k 6. Unformní B-splne fnkce: ekvdstantní ntervaly zlů t = (t ) ( k t) N,k(t) N, k-(t) N, k-(t), kde 0,,...,m (k ) k 7. Perodcké B-splne fnkce: N,k (t) = N +k,k (t-k). 5
Unformní kbcký B-splne Unformní kbcký B-splne kbcký (nejvyšší stpeň polynom je n=) => řád k = 4 (k =n+) Uzlový vektor [ 0,, 2,, 4, 5, 6, 7, 8, 9 ], < + 0 pro 6 bodů [ 0,,.., k-, k,, m+,, m+k ] pro m+ bodů ( +,- ) = konst 0 proto nformní aproxmje zadané řídící body P 0, P,, P m zarčje C 2 spojtost v zlech Řídící body lze OPAKOVAT (místt více bodů na stejné místo) snžje se tím spojtost lze dosáhnot nterpolace (k-) násobným bodem křvka prochází 6
Unformní kbcký B-splne Vlv opakování řídících bodů na koncích Trojnásobný koncový bod Bez opakování řídících bodů U = [0,,2,,4,5,6,7,8,9,0,] 8 bodů 5 segmentů U = [0,,2,,4,5,6,7,8,9] 6 bodů segmenty Trojnásobný koncový počáteční bod (k-) násobný prochází bodem U = [0,,2,,4,5,6,7,8,9,0,,2,] 0 bodů 7 segmentů 7
Unformní kbcký B-splne Vlv opakování řídících bodů vntř Dvojnásobný vntřní bod Bez opakování řídících bodů U = [0,,2,,4,5,6,7,8,9,0] 7 bodů 4 segmenty U = [0,,2,,4,5,6,7,8,9] 6 bodů segmenty Trojnásobný vntřní bod U = [0,,2,,4,5,6,7,8,9,0,] 8 bodů 5 segmentů 8
b) Nenformní kbcký B-splne NUBS 9
Nenformní kbcký B-splne Nenformní kbcký B-splne kbcký (nejvyšší stpeň polynom je n=) => řád k = 4 (k =n+) Uzlový vektor [ 0,,.., k-, k,, m+,, m+k ], +, ( + - ) konst proto nenformní Q () kde N () j, p j0 j jso rekrzívně defnované míchací fnkce, m 2 tj., m-2 segmentů N j, (), 0.., 40
Nenformní kbcký B-splne Nenformní kbcký B-splne ( + - ) konst proto nenformní může být roven 0 (opakjí se hodnoty v zlovém vektor) => křvka se přblžje řídícím bod až jím projde (př k- stejných hodnot) NB-splne lze dontt k nterpolac řídícího bod. opakováním řídícího bod (jako nformních B-splne) 2. opakováním hodnot v zlovém vektor (vz dále) 4
Nenformní kbcký B-splne 2. Nenformní kbcký B-splne - opakování hodnot v zlovém vektor Uzlový vektor U [,...,,,...,,..., 0, k k m a) Nenformta na koncích na začátk konc U se opakje k hodnot (křvka nterpolje koncové body) Př. 6 bodů a segmenty 0 m m2 pro...... k mk k,..., m, k stejných k stejných mk ] Různé [0,0,0,0,,2,,,,] k k b) Nenformta vntř opakjí se hodnoty mez k- a km+ obloky degenerjí - doble knot (opakjí se dvě hodnoty), - trpple knot ( hodnoty) nterpolje bod Opakjící se [0,,2,,4,4,5,6,7,8] ( obecně (k-) opakování nterpolje bod ) k k 42
Nenformní kbcký B-splne a) Nenformta na koncích Uzly [0,0,0,0,,2,,,,] Opakované hodnoty v zlovém vektor 6 bodů segmenty Opakování řídícího bod pro srovnání Trojnásobný koncový počáteční bod 0 bodů 7 segmentů 4
Nenformní kbcký B-splne b) Nenformta vntř Oblok degenerje na bod nespojtost [0,,2,,4,4,4,4,5,6,7,8] qadrple knot 7 bodů, k=4 => hodnot v zlovém vektor 2 hodnot 44
Modelování NURBS křvek a ploch Prncp aproxmace pomocí nenformních B-splne a NURBS (vz dále). Rozdělení nterval parametr na dílčí ntervaly zlové body (knots) 2. Rozdělení křvky na navazjící obloky (plochy na pláty) mez zlovým body. Konstrkce bázových fnkcí postpno nterpolací voltelný řád bázových fnkcí (typcky řád k=4, kbky) snížení výpočetní složtost (nízký řád polynomů) lokální vlv řídcího bod 45
Nenformní kbcký B-splne Nenformní B-splne křvka přes všech m bodů Dáno: Řídcí polygon P = p 0, p, p m, (m+ bodů) Uzlový vektor T = [t 0, t,..., t k, t k+,..., t m, t m+,..., t m+k ], t t + Řád aproxmace k. B-splne křvka r(t) řád k s řídcím polygonem P nad vektorem T r(t) m p N (t), m k, t t, t 0, k k m (příspěvky bodů dále než k/2 jso nlové) Defnováno 0/0 = 0 46
Vlastnost nenformní B-splne křvky r(t). Obecně neprochází žádným bodem 2. Křvka r(t) leží vntř konvexní obálky řídcího polygon P.. Křvka r(t) je v p-násobném zl (k-p-) krát spojtě dferencovatelná. 4. Je-l (k-) řídcích bodů kolneárních křvka r(t) se dotýká řídcího polygon. Je-l k řídcích bodů kolneárních křvka r(t) má s řídcím polygonem společno hran. 5. Jestlže k- zlových bodů splyne, na křvce r(t) vznkne zlom. Strany řídcího polygon jso pak tečnam v tomto bodě. 47
Vlastnost nenformní B-splne křvky r(t) 6. Pokd zlový vektor T obsahje poze k nlových zlů na začátk a k jednčkových zlů na konc Př.: [0,0,0,0,,,,] r(t) je Bézerova křvka řád k. 4 body (m=), k=4 7. Pro zlový vektor U typ U 0 m [ 0, pro m2,...,... k..., k, m k mk, k... k k m,... prochází křvka body p 0 a p n : r(t 0 ) = p 0, r(t m+ ) = p n, Dervace v počátečním a koncovém bodě křvky: r (t 0 ) = (k-).(p 0 -p )/(t k t 0 ), r (t m+ ) = (k-)(p m - p m- )/(t m+ -t m ) mk stejných stejných ] Př. [0,0,0,0,,2,,,,] k k vektor tečny měřítko 48
c) Nenformní kbcký raconální B-splne NURBS 49
Modelování NURBS křvek a ploch Dva styly reprezentace řídících bodů a vah (x,y,z,w) [Demdov] : a) Homogenní reprezentace.. OpenGL pozce bod se v OpenGL počítá jako (x/w, y/w, z/w). proto zadávat jako (x.w, y.w, z.w, w), aby po dělení w vyšlo (x,y,z,w), kde w 0, ) je váha bod b) Vážená Ekledovská reprezentace sořadnce jso chápany jako jž vydělené w. Proto složky (x,y,z) přímo reprezentjí poloh bod a čtvrtá složka váh w, tedy (x,y,z,w) 50
Modelování NURBS křvek a ploch NURBS křvka Dáno: Řídcí polygon P = [ p 0, p, p m ], Uzlový vektor T = [t 0, t... t k, t k+...t m, t m+,... t m+k ], t <= t + Řád aproxmace k. p = [w x, w y, w z, w ], řídící bod s váho w Poloha řídícího bod v Ekledovských soř. se získá vydělením váho w P = [x, y, z ] řídící bod v Ekledovských sořadncích Bod na nenformní B-splne křvce má homogenní sořadnce r(t) p m N 0, k (t) Z toho váha (4. složka) v lbovolném bodě křvky je m r(t) w N (t) w 0, k 5
Modelování NURBS křvek a ploch D poloha bod po vydělení w je tedy Q(t) m Nahrazením [ x, y, z ]. w. N ( t) 0, k m w N (t) w. N, R (t) m, k w Získáme rovnc NURBS m Q(t) p 0 p 0 R 0, k k (t) (t) N, k, k (t) Poznámky: NURBS křvka Q(t) vznkne nverzní homogenní transformací B-splne křvky r(t) s řídcím body v homogenních sořadncích Fnkce R,k (t) jso lomené raconální fnkce Homogenní sořadnce w řídcího bod vyjadřje jeho váh NURBS křvky jso nvarantní vůč afnní perspektvní transformac 52
Modelování NURBS křvek a ploch Kržnce jako NURBS křvka řád k= P 6 P 5 /2 /2 P 4 P 7 2/2 2/2 P 5 P 0 =P 6 P P 0 =P 8 P 4 /2 /2 P P 2 2/2 2/2 P P P 2 Kržnce zadaná 7 body w = {, /2, /2,, /2, /2, } váhy T= { 0,0,0,/4,/2,/2,/4,,,] zly Totéž jako T= { 0,0,0,, 2, 2,,4,4,4} Kržnce zadaná 9 body w = {, 2/2,, 2/2,, 2/2,, 2/2, } 2/2 = cos(45 ) T= { 0,0,0,/4,/4,/2,/2,/4,/4,,,} T= { 0,0,0,,, 2, 2,,,4,4,4} 5
Aproxmační metody modelování křvek Výhody NURBS Šroká třída modelovaných křvek/ploch splne křvky/plochy křvky/plochy s nespojto. dervací oblok křvky může být úsečka Rozsah parametr, v může být nespojtý Přesný pops kželoseček a válcových ploch Invarance vůč afnní perspektvní projekc Jednotná úsporná reprezentace většna systémů pro modelování požívá NURBS pro vntřní reprezentac křvek/ploch 54
Modelování NURBS křvek a ploch NURBS plocha NURBS plocha - tenzorový prodkt dvo křvek Dáno: Řády k a q pro parametry a v, Uzlové vektory T a T v pro parametr a v Matce (m x n) řídcích bodů p, j. Bod plochy: m S(,v) = R,k () R j,q (v) p,j n j 0 0 55
Operace nad NURBS křvkam a plocham. Vkládání zlových bodů:. Do zlového vektor se vloží nové zly 2. Hledá se nový řídcí polygon tak, aby se nezměnl tvar modelované křvky. Oslo-algortms, Boehm-algortms T = [0, 0, 0, 0, 0.5,,,, ] T = [0, 0, 0, 0, 0.25, 0.5,,,, ] 5 bodů, k=4 6 bodů, k=4 56
Operace nad NURBS křvkam a plocham 2. Změna řád křvky Výpočet řídcích bodů a zlových bodů křvky vyššího řád. P 6 P 7 2/2 2/2 P 5 P 0 =P 8 P 4 2/2 2/2 P P P 2 Kržnce řád Kržnce řád 4 T= { 0,0,0,/4,/4,/2,/2,/4,/4,,,] w = {, 2/2,, 2/2,, 2/2,, 2/2, } 2/2 = cos(45 ) 57
Operace nad NURBS křvkam a plocham. Sjednocení zlových vektorů T, T 2 : Jso dány vektory T, T 2 dvo křvek řád k. Algortms provede sjednocení T = T T 2 tak, že se žádný zel nebde opakovat více než k-krát. nespojtost původních křvek se přeneso do křvky s zlovým vektorem T Důsledek operací nad NURBS: pomocí operací - lze různé NURBS křvky vyjádřt jako křvky stejného řád se stejným počtem řídcích a zlových bodů stejná forma záps křvek křvky moho být požty pro modelování ploch 58
Modelování NURBS křvek a ploch Technky modelování NURBS ploch Tažení (sweepng, extrson). Modelování taženého žebra v rovně 2. Posn žebra o daný vektor v p 2,2 p,2 = p, + v v p,2 p, p 2, S(,v) = 4 0 j 0 R,k () R j, (v) p,j 59
Modelování NURBS křvek a ploch Modelování rotačních ploch. Modelování proflové křvky soparametrcká křvka pro v = konst. NURBS křvka v rovně (x,z) 2. Rotace proflové křvky kolem osy z o 60 o soparametrcká křvka pro = konst. p 0,0 p,0 p 2,4 p 2,5 p 2,6 p 2,7 S p 2, kržnce a její řídcí polygon 4 8 (, v) R () R (v) p 0 j 0,k j,2,j v p 2,2 p,0 p 4,0 p 2, p 2,0 = p 2,8 proflová křvka 60
Aproxmační metody modelování křvek Modelování přímkových ploch. Modelování krajních křvek C řád k, řídcí body P, zlový vektor T C 2 řád k 2, řídcí body P 2, zlový vektor T 2 2. Úprava C,C 2 na stejný řád k = max (k, k 2 ) k. Sjednocení zlových vektorů T = T T 2 T 4. Aplkace Oslo algortm na C,C 2 řád k s zlovým vektorem T P C,C 2 mají stejný počet řídcích bodů n + S(, v) p p,j - řídcí body C n 0 j R () R (v) 0,k j,,j C 2 p 2,j - řídcí body C 2 C 6
Aproxmační metody modelování křvek Modelování obalových ploch (sknnng) Zobecnění postp modelování přímkových ploch:. Modelování m žeber - NURBS křvek C křvek C řád k, řídcí body P, zlový vektor T 2. Úprava C na stejný řád k = max (k ), =, 2,...m. Sjednocení zlových vektorů T = T, =, 2,...m 4. Aplkace Oslo algortm na každo křvk C, řád k s zlovým vektorem T C mají stejný počet řídcích bodů n S(, v) m n j R (v) R (),q j, k -tý řádek matce řídcích bodů P = řídcí body křvky C j-tý slopec matce řídcích bodů P = řídcí body ve směr parametr v p,j 62
Reference [Demdov] http://www.bblo.org/e-notes/splnes/intro.htm, pdated 2 Feb 2004, stav dne 20.5.2006. [Alexandr] Lbomír Alexandr. Výka počítačové grafky cesto WWW. Dplomová práce. http://www.hyperkrychle.cz/crves/obsah.html [MPG] Žára, Beneš, Sochor, Felkel. Moderní počítačová grafka, 2. vydání, Compter Press, 2004, kap. 5. 6