II Iterpolačí plochy Bezierovy pláty ad obdélíkovou a trojúhelíkovou sítí Recioálí Bezierovy pláty B-splie NURBS Kostrukce a zadáí plochy hraičí křivky sítí bodů Kiematicky vytvořeé křivky rotačí plochy (vike rotací křivky okolo přímky) plochy vziklé skládáím pohybů posu, rotace Aalytický předpis ploch - parametrické, explicití, implicití vyjádřeí 1
Tezorový souči Jestliže B < b (u),b 1 (u), b m (u), > je báze vektorového prostoru polyomů proměé u st. ejvýše m, (oz. P m (u)) C < c (v),c 1 (v), c (v), > je báze vektorového prostoru polyomů proměé v st. ejvýše (oz. P (v)), pak { i ( ) j ( ); ; } B C b u c v i m j je báze vekt. prostoru polyomů dvou proměých u,v, stupě ejvýše m a,. oz: P m u, v P m u P v ( ) ( ) ( ) m m, P ( u, v) αijbi ( u) c j ( v) ; αij R j i Př: Taylorova báze {u i vj; i m, j } Bersteiovy polyomy {B im (u).b j (v); i m, j } B-splie baze {N im (u).n j (v); i m, j }
3
Příčé tečé vektory Směrové vektory teče v- křivky sestrojeé podél okrajové u-křivky. P ( u, v) P ( u, v) P ( v) ( u, v ) ; P1 ( v ) ( u 1, v ) ; u u Směrové vektory teče v- křivky sestrojeé podél okrajové u-křivky P ( u, v) P ( u, v) P ( u) ( u, v ) ; P1 ( u ) ( u, v 1 ) ; v v Bezierovy pláty ( ) ( ) ( ) ( ) (, 1,, ) (, m ( ) 1, m ( ), m ( )) X u, v B u, B u,, B u U B v, B v,, B v U.mapa plochy P P1 P m 1 11 P P P1 m U... P P 1 Pm B i,.bersteiovy polyomy Bi, u u 1 u i i ( ) ( ) i 4
BÉZIERŮV BIKUBICKÝ PLÁT B B m (, ) i, j (, ) i, j, [,1 ], [,1] X u v B u v P u v B B B B B u * v,3 1,3,3 i j u v B [ B ( u) B ( u) B ( u) B ( u) ] B B ( v) B ( v) B ( v) B ( v),3 1,3 U 1 11 1m,3 P P1 P m P P P... P P 1 Pm ( u) B,3( v) B,3( u) B1,3 ( v) B,3( u) B,3( v) B,3( u) B ( v) ( u) B ( ) ( ) ( ) ( ) ( ) ( ) ( ),3 v B1,3 u B1,3 v B1,3 u v B1,3 u B v ( u) B,3( v) B,3( u) B1,3 ( v) B,3( u) B,3( v) B,3( u) B ( v) ( u) B ( v) B ( u) B ( v) B ( u) B ( v) B ( u) B ( v),3 1,3,3,3 1,3,3 BÉZIERŮV BIKUBICKÝ PLÁT B B B u * v B B B B,3 1,3,3 ( u) B,3( v) B,3( u) B1,3 ( v) B,3( u) B,3( v) B,3 ( u) B ( v) ( u) B ( ) ( ) ( ) ( ) ( ) ( ) ( ),3 v B1,3 u B1,3 v B1,3 u v B1,3 u B v ( B,3( v) B,3( u) B1,3 ( v) B,3( u) B,3( v) B,3( u) B ( v) ( u) B ( v) B ( u) B ( v) B ( u) B ( v) B ( u) B ( v),3 1,3,3 u 5
BÉZIERŮV BIKUBICKÝ PLÁT BÉZIERŮV BIKUBICKÝ PLÁT Poloha vitřích vrcholů B. plátu emá vliv a tvar okrajových křivekk Okrajové křivky Bézierovy kubiky 6
Algoritmus de Casteljau po křivkk ivkách (, ) ( ) ( ) ( ) ( ) ( ) ( ) ij i jm jm ij i jm j j i j i j ( v ) m m m X u v P B u B v B v P B u B v u X u, je bod a Bezierově ploše ( ) ( ) ( ) je to bod a Bezierově křivce s řídícími body u, v, u, v, u, v 1 Plátováí C - pláty mají společý okraj, ale růzé příčé tečé vektory U P P1 P m P P P... P P 1 Pm 1 11 1m V P m 1 m P... Pm 1 m 1m 11 1m 7
Plátováí C 1 - pláty mají společý okraj i příčé tečé vektory podél společého okraje U P P m 1 P m P P P... P P1 m 1 Pm 1 1m 1 1m U P P... P m 1 m 1m 11 1m m 1 m P +, 1,1 i m i im P Plátováí C - pláty mají společý okraj, příčé tečé vektory podél společého okraje a společou křivost parametrických křivek U P P m 1 P m P P P... P P1 m 1 Pm 1 1m 1 1m U P P... P m 1 m 1m 11 1m m 1 m Pi, m 1 + i,1 Pim P + P ( ) i i, m i,1 i, m 1 8
Subdivisio Převod Bezierovy plochy a síťs Algoritmus de Casteljau opakováím subdivisio pro řádky i pro sloupce zadáme plochu pomocí 4 řídících polygoů 9
Převod Bezierovy plochy a trojúhel helíkovou síťs Naiví algoritmus vypočítáme body pro kostatí přírůstky parametrů plochy Zvýše eí stupě Bezierovy křivky ( α ) P P i αi i 1 + 1 i i i αi i + 1 + 1 Př: Kvadratická Bezierova křivka je dáa body P, P 1, P. Zadejte tutéž parabolu pomocí 4 řídících bodů. 1 1 P ; 1 P + P1 ; P1 + P ; 3 P 3 3 3 3 X( t ) ( 1 t) 3 + 3 t ( 1 t) 1+ 3 t ( 1 t) + t 3 3 X( t ) P Pt + Pt + t P1 t P1+ t P X( t ) ( 1 t + t ) P + ( t + t) P1+ t P 1
Zvýše eí stupě Bezierova plátu Dáo (m+1)x(+1) bodů P ij (stupeň plochy (m,)) Zvýšeí a (m+1)x(+) bodů ij (stupeň plochy (m,+1)) ( 1 α ) α P + P i, j i, j i, j 1 i, j i, j j αi, j j + 1 + 1 U P P1 P P P P... Pm Pm 1 Pm 1 11 1 U... 1 + 1 1 11 1+ 1 m m1 m+ 1 Trojúhelíková síť 11
Bezierův obdél líkový plát z Plocha st..m je dáa obdélíkovou sítí (+1)(m+1) bodů P ij y Bezierův trojúhel helíkový plát Plocha stupě i+j+k je dáa trojúhelíkovou sítí ½(+1)(+) bodů P ijk Ω [u,v ] x z Barycetrické souřadice u + v + w 1 u, v, w, Ω [u,v, w ] x y Bezierův trojúhelíkový plát Plocha je dáa trojúhelíkovou sítí ½(+1)(+) bodů stupeň plochy i+j+k P ijk Plát stupě 1 trojúhelík P 1, P 1, P 1 X ( u, v) P1 u ( P1 P1 ) v ( P1 P1 ) vp1 + ( 1 u v) P1 + up1 (,, ) + + ; + + 1 + + X u v w up vp wp u v w 1 1 1 1
Bezierův trojúhel helíkový plát t st. X ( u, v, w) ( up + vp11 + wp11 ) u + ( ) ( ) 11 11 11 11 up + vp + wp v + up + vp + wp w P u + P uv + P v + P uw + P vw + P w 11 11 11 (,, ) (,, ) X u v w P B u v w i, j, k> i+ j+ k ijk ijk! B ijk ( u, v, w) u v w i! j! k! i j k P P P 11 11 P P P 11 Bezierův trojúhelíkový plát 13
Bezierův trojúhelík-subdivisio 14
Racioálí Bezierova plocha Řídící body jsou zadáy v afiím prostoru vořeém do projektivího prostoru P 3. (,,,1) (,,, ) 3 X ( u v) ( x 1 x x3 x4 ) P x y z w x w y w z w ij ij ij ij ij ij ij ij ij ij ij Bezierova plocha v P,,,, x w x B ( u) B ( v) 1 j i x w y B ( u) B ( v) j i x w z B ( u) B ( v) 3 j i x w B ( u) B ( v) 4 m m m m j i ij ij i jm ij ij i jm ij ij i jm ij i jm (, ) P u v m j i m j i ( ) ( ) w P B u B v ij ij i jm ( ) ( ) w B u B v ij i jm 15
Kiematicky vytvořeé plochy Kružice jako kvadratický NURBS Oblouk - Bezierova kvadrika 1. Délka úseků a tečách musí být shodá. Vektor uzlových bodů [,,,1,1,1] w 1 w 1 w 3 Kružice kvadratický NURBS 1. Řídící vrcholy jsou tvořey vrcholy opsaého čtverce a středy stra w 4 1. Vektor uzlových bodů 1 1 1 1 3 3,,,,,,,,,1,1,1 4 4 4 4 w 5 w 1 w 6 1 w w 1 w8 1 w 7 16
Válec jako Racioálí Bezierova plocha ¼ Rotačí válcové plochy. (, ) P u v m j i ( ) ( ) w P B u B v ij ij i jm j i m ( ) ( ) w B u B v ij i jm V r,, w 1 V1 [ r, r,] w1 V, r, w 1 V r,, v w 1 1 1 V11 [ r, r, v] w11 V, r, v w 1 1 1 r 1, v X ( u, v ) ( + + 3 v 4 v ) ( 1 + v ) ( 4 v + 3 v ) v,, 4 v + 6 v + 4 v 6 v 4 v + 6 v + 4 v 6 v u Rotačí plocha Je dá meridiá plochy jako (Neracioálí) Bezierova křivka v roviě (x,z). Řídící body P i [x i,,z i ] w 1 w 1 w.77 w.77 w.77 V x,, z w 1 i i i i V1 i [ xi, xi, zi ] w1 i V, x, z w 1 i i i i w 1 w.77 17
Auloid jako Racioálí Bezierova plocha 1/16 Auloidu. w 1 w.77 w.77 w.5 V, R, r w 1 V1 [, R + r, r] w1 V, R + r, w 1 V1 [ R, R, r] w1 V R + r, R + r, r w.5 11 11 w 1 w.77 w 1 w.77 [,,] V R + r R + r w 1 1 V R,, r w 1 V1 [ R + r,, r] w1 V R + r,, w 1 Racioálí Bezierův trojúhelík Je dáa trojúhelíková siť P ijk. Každý řídící bod má svou váhu w ijk (,, ) P u v w i+ j+ k wijk Pijk B ijk i, j, k i+ j+ k wijk B ijk i, j, k ( u, v, w) ( u, v, w) 18
BSplie BSplie Plocha je určea: řídící sítí (m+1)x(+1) bodů Stupěm k pro bázové polyomy parametru u Stupěm l pro bázové polyomy parametru v m i j Uzlovými vektory parametrizace pro parametry u a v. N i1 1 t ti, ti+ pro jide ( ) ( ) X ( u, v) P N u N v t t ij i, k j, l 1 i i+ k Nik ( t) Nik 1( t) + Ni+ 1, k 1( t) ti+ k 1 ti ti+ k ti+ 1 t t 19
Vlastosti BSplie Lokalita změ Podmíka kovexího obalu Afií ivariace Iterpolace okrajem hraičí křivky jsou B-splie křivky pro uzlové hodoty parametrů U (u... u k, u k+1,..., u m, u m+1... u m+k+1 ), V (v... v l, v l+1,..., v, v +1... v +l+1 ) NURBS
Vlastosti NURBS Lokalita změ Změa polohy libovolého bodu Pij ebo jeho váhy změí tvar plochy pouze pro iterval (u i,u i+m+1 ) x (v j,v j++1 ) Podmíka kovexího obalu - Plocha leží v kovexím obalu sítěřídících bodů Projektiví ivariatost eí uté zobrazovat všechy body plochy, ale při projektivích trasformacích stačí zobrzit pouze řídící body Spojitost parametrická křivka X(u,v ) má C m-k spojité parciálí derivace v bodě odpovídajícím parametru u, je-li ásobost uzlu u rova k. NURBS De Boorův algoritmus 1
Vytažeí křivky jako NURBS Profilová NURBS křivka stupě k je dáa řídícími body P i, i. Je dá vektor posuutí a. PN i i, k ( u) i C( u) w N u Dva sloupce matice řídících bodů jsou dáy původími řídícími body a body posuutými ve směru vektoru a. i i i, k ( ) Pi Pi P P + a i1 i X ( u, v) 1 i j 1 i j ( ) ( ) w P N u N v i ij i, k j,1 ( ) ( ) w N u N v i i, k j,1 Přímkové plochy jako NURBS Jsou dáy dvě NURBS křivky Sjedotíme stupeň a uzlové vektory obou křivek. Křivky se osadí ovým uzlovým vektorem a sjedotí se tak, aby měly stejý počet řídicích bodů. Povrch se vytvoří za pomocířídicích bodů a uzlových vektorů obou křivek. Každá křivka se stává řádkem hodot v matici řídicích bodů.