A számítógépes tervezés geometriai alapjai: görbék típusai, matematikai leírás, manipulációk görbékkel. III. előadás 2008. február 25.
Függvények görbék leírására Egyszerű függvények: analitikus görbék Polinomok: analitikus és szabadformájú görbék (valamennyi alak) Polinom jól deriválható (érintő, görbület). Az n-ed fokú polinom függvény általános alakja: n n 1 ( ) p x = a x + a x + K+ a x+ a n n 1 1 0 n pozitív egész szám Más módon felírva: a 0, a 1,..., a n valós számok ( ) n = i i= 0 p x a x i III. előadás 2008. február 25. 2/26
A görbe lokális (helyi) tulajdonságai Az egységvektorokból képezett derékszögű koordináta-rendszer a kisérő triéder. t n r b A kísérő triéder t és b vektorai a simulósíkot, b és n vektorai pedig a normálsíkot határozzák meg. U paraméterű pontban Érintő (t), Főnormális(n) Binormális(b) Görbület (r) III. előadás 2008. február 25. 3/26
Y P (x,y,z) Görbe paraméteres leírása u max A görbe paraméteresegyenlete az u paraméter értékéhez adja meg a P pont modelltérbeli x, y és z koordinátáit. u min P(u) X A görbe pontját a paraméter (u) függvényében fejezi ki. Z A görbe paraméteres egyenletének általános alakja: P(u)=[x(u) y(u) z(u)] ahol u min <= u <= u max A P pont modelltérbeli x, y és z koordinátái az u paraméter függvényében: x=x(u), y=y(u) és z=z(u) III. előadás 2008. február 25. 4/26
Görbe létrehozásának módszerei Feladat Módszer Megadott szabályszerűséget követ Analitikus Megadott pontokon áthalad Interpolációs Megadott pontokkal vezérelve harmonikus alakú Közelítő (approximációs) P 1 P 2 P 0 P 3 III. előadás 2008. február 25. 5/26
Görbe: egy darabban vagy részekből? Egyetlen görbeként. Beziergörbe: globális vezérlés, a vezérlőpont elmozdítása a teljes görbe mentén módosít. Beziergörbék láncolata görbe leírására. i -1 szegmens B-szplájngörbe: szegmensekből épül fel. P i -1 i szegmens P i P i +1 III. előadás 2008. február 25. 6/26
Interpolációs módszerek Kísérleti úton vagy számítással előállított pontokon átmenő görbe előállítása. Lineáris interpoláció: két-kétpontot egyenesszakaszokkal kötnekössze Három ponton körív vezethető át (másodfokúanalitikus görbe) Négy ponton átvezetve harmadfokú görbét kapunk A Hermite interpolációgörbe fektetését jelenti két pont közé, a két pont és a két pontnál megvalósítandó érintő alapján. Hermite módszerét alkalmazta Fergusonés Coons Az interpolációs feladat matematikai megoldásához interpolációs polinomokat fejlesztettek. Ezek közül a Lagrange* polinom a legegyszerűbb. A pontokra illesztés legismertebb módszere Lagrangenevéhez fűződik, Lagrange* interpolációként ismert. *Francia matematikus III. előadás 2008. február 25. 7/26
Bezier görbék Görbék (és felületek) matemetikai leírásának első komolyabb alkalmazásai: repülőgépipar, autóipar A görbék pontokból és érintővektorokból kiinduló meghatározása a gyakorlati alkalmazás számára nehézkesnek bizonyult (múlt század hatvanas évei). Bezier(Renault): vezérlő sokszöget vezette be, amelynek csúcspontjainak helyzete a görbe alakját vezérli (irányítja). Alapfüggvényként Bernsteinpolinomokat alkalmaz Vele egy időben, ugyanilyen módszerrel valósított meg görbetervezést de Casteljau(Citroen). Bezier görbéjének tulajdonságai: Globális vezérlés. Fokszáma a vezérlőpontok számával összefügg. Az első és utolsó vezérlőponton áthalad. A vezérlő sokszög első és utolsószegmensére érintőleges. A vezérlő sokszögáltal lefedett konvexburkon belül helyezkedikel. P 0 P 1 P 2 P 3 III. előadás 2008. február 25. 8/26
Konvex burok P 1 P 2 P 0 P 3 P 1 P 3 P 0 P 2 III. előadás 2008. február 25. 9/26
Görbe osztálya: vezérlőpontok száma Görbe fokszáma: vezérlőpontok száma - 1 CAD technikák Különböző fokszámú Bezier görbék P 1 P 2 P 1 P 1 P 0 P P P P 2 0 3 0 elsőfokú másodfokú harmadfokú III. előadás 2008. február 25. 10/26
Bezier görbe Bernstein alapfüggvényekkel Az n-edfokú, vagyis n+1 -ed rendű, n+1 vezérlőponttal irányított Bezier görbét leírón -edfokú polinom: n = i i= 0 Pu P B u ( ) ( ) ahol P(u ) a görbe valamely pontja, Pi pedig valamely vezérlőpont. Az u paraméter értelmezési tartománya leggyakrabban: 0 u 1 in, A Bi,n alapfüggvények az alábbi Bernsteinfüggvények: n i ( ) ( ) i B ( ) in, u = C ni, u 1 u C(n,i) binominális együttható, amely C ni, ( ) = n! i! n i! ( ) III. előadás 2008. február 25. 11/26
Szegmensekből felépülő görbe Y P (x,y,z) u max u min P(u) X Z III. előadás 2008. február 25. 12/26
B-szplájn görbe tulajdonságai Szegmensekből áll Folytonosság a szegmensek határain Lokális vezérlés. Szplájnalapfüggvény A görbe fokszáma megegyezik az alapfüggvény fokszámával. Szegmensenként eltérő fokszám lehet. Az első és utolsó vezérlőponton csak megfelelő paraméterezés esetén halad át. Ekkor érintőleges a vezérlő sokszög első és utolsó szegmensére. III. előadás 2008. február 25. 13/26
B-szplájn görbe analitikus és geometriai meghatározása A B-szplájnokanalitikus és geometriai meghatározásátaz alábbiakban vázoljuk. A P(u) a B-szplájn görbe analitikusdefiniciója n P ( u) = P i N ( u) ik, i=1 ahol a vezérlőpontokés a csomópontok { } P:i = 0,1,..., n i A B-szplájn görbe polinomokkal leírtszegmensekből áll. Ezekneka szegmensekneka rendűségétk -val jelöltük. A görbe szegmenseik-1 fokúak. A fenti összefüggésben a Ni,k(u) a normalizáltb-szplájn alapfüggvényeket jelöli. III. előadás 2008. február 25. 14/26
B-szplájn görbe szegmentált tulajdonsága A B-szpájnalapfüggvénytmeghatározottparaméter-intervallumonbelül definiálják. Az alapfüggvénya B-szplájngörbeparamétertartományánakcsakegyrészénvezérelia görbét. A szegmensekhatáránmásodrendű (C2) folytonosságotköbös B-szplájnfüggvényekbiztosítanak. Példa: Zártgörbe hat vezérlőponttal irányítva hat szegmensből áll. Az egyes szegmenseka következő szegmenssel két közös vezérlőpont hatásaalátartoznak. Az első szegmensheza V0-V2, a másodikszegmenshez a V1-V3 vezérlőpontoktartoznak, és így tovább. V 0 V 1 V 2 V 3 V 5 V 4 III. előadás 2008. február 25. 15/26
B-szplájn görbe paraméterezése Csomóvektor A szplájn meghatározott számúszegmenshatár-ponton megy át. Ezeket a pontokat csomóknak(csomópont, vagy angolul: knot) nevezzük. A csomókhozrendelika szegmenshatárokonérvényes paraméterértékeket, amelyeket a csomóvektorbanadnak meg: u : i = 0,1, K, n+ k { } i A csomóvektornak nemszabad csökkenő értékeket tartalmazni, tehát a paraméter-intervallumokra mindíg érvényesnekkell lenni azalábbi kifejezésnek: ui u i + 1 Azértéknekviszont nemszabadtöbbször megjelenni a csomóvektorban, mint a B-szplájngörberendűsége. III. előadás 2008. február 25. 16/26
Szegmensek B-szplájn görbén Csomó Szegmens Szegmens paramétertartománya u= u 1 u= u 2 u 0 u 1 u 2 u 3 u 4 III. előadás 2008. február 25. 17/26
Csomók B-szplájn görbén A B-szplájn görbeesetében a vezérlőpontokszáma, rendszámés a fokszámmellett a csomókszámával is számolni kell. Azn + 1 vezérlőpont közelítésével létrejött, k-ad rendű, vagyis k-1 fokú, valamint m számú csomóval rendelkező B-szplájn görbe esetében ebből a csomókszáma m+ 1 = n+ 1 + k ( ) ( ) m= n+ k A B-szplájn görbét leíró polinom fokszáma az egyes paraméter-intervallumokon belülnemhaladjameg a k-1 értéket. Ugyanahhoza csomóvektorhozkülönböző rendűségű alapfüggvényekis tartozhatnak. Például lineáris, másodfokú és harmadfokú görbe-szegmensek követhetikegymást. III. előadás 2008. február 25. 18/26
Egyenközű és nem-egyenközű B-szplájn alapfüggvények Aparaméter-intervallumok, amelyeken belül az alapfüggvényeket definiáljuk: N 1,3 N 2,3 azonosak: Egyenközű (angolkifejezéssel: uniform) B-szplájn. N 0,3 N 3,3 u i u u i+1 i+2 u i+3 u i+4 N 1,3 N 2,3 nem azonosak: Nem egyenközű (angol kifejezéssel: non-uniform) B-szplájn. N 0,3 N 3,3 u i u u i+1 i+2 u i+3 u i+4 III. előadás 2008. február 25. 19/26
Periódikus és nem-periódikus B-szplájn görbék Ha a paraméter-intervallumok ismétlődnek, periódikus (periodic) B-szplájnról beszélünk. Ebből következik, hogy az egyenközű B-szplájn egyben periódikus is. A nem-periódikus (non-periodic) B-szplájn esetében a vektor belső csomói egyenlő elosztásúak, azonban a vektor elején és végén a görbe rendűségével azonos számú intervallum ismétlődik. A görbe vezérlésének lehetõségeit tágítja, ha a paraméter-intervallumok a vektor elején és végén egyaránt eltérőek. Így nem-egyenközű (non-uniform) B-szplájn görbét kapunk. Miután a paraméter-intervallumokat a csomóvektorban ábrázoljuk, a B-szplájn görbe fenti sajátosságai a csomóvektorból felismerhetők. III. előadás 2008. február 25. 20/26
Nem-periodikus B-szplájn görbék A különböző fokszámú nem-periodikus görbékre láthatunk példát az ábrán. A görbékhez tartozó csomóvektorok: "a" görbe: [001233] "b" görbe: [0001222] "c" görbe: [00001111] a b c Figyeljük meg! A vezérlőpontok száma, a rendszám és a csomók számának fentebb bemutatott összefüggését. A B-szplájn görbe nem megy át az elsõ és az utólsó vezérlőponton, azonban az elsõ és az utólsó paraméter-intervallum kettőzésével erre "kényszeríthető". "a" görbe: k=2, fokszám=1 "b" görbe: k=3, fokszám=2 "c" görbe: k=4, fokszám=3 III. előadás 2008. február 25. 21/26
Nem-egyenközű B-szplájn görbék A nem-egyenközű B-szplájn csomóvektorának belsejében lehetnek intervallumtöbbszöröződések, például [01223] vagy az intervallumok a teljes vektor mentén eltérnek, például [0,0 0,1 0,33 0,6 0,8 1,0]. A B-szplájn leírás a Bezier leírás általánosításának tekinthető. Ha a csomóvektorban a 0 majd az 1 érték a görbe rendűségével (k) egyenlõ számban ismétlődik, Bezier görbét kapunk. Például valamely négy vezérlőpontú nem-periodikus köbös B-szplájn görbe csomóvektora [00001111]. Ez egy Bezier görbe. III. előadás 2008. február 25. 22/26
Négydimenziós homogén koordináták Eredetilega transzformációkleírására szolgálómátrixokbanalkalmazták. A háromdimenziós Euklideszi tér P( x, yz,) pontjánaka négydimenziós homogéntérbena w = ( ) Q wx, wy, wz, w,ahol w 0 leírásfelel meg. A w a homogénkoordináta, amelyetsúlyozásnakis nevezünk. III. előadás 2008. február 25. 23/26
Racionális B-szplájn görbék (1/3) A homogén koordináták a racionális B-szplájnok leírásánál. w n ik, i= 0 ( ) ( ) Q u = N uv ahol Q w (u) a görbepontja négydimenziós homogén koordinátákkal kifejezve: w Q ( u) = w ( u), w ( u), w ( u), w i w x y z Ni,k (u) a szplájn alapfüggvény, V pedig a vezérlőponta négydimenziós homogén térben: V i V = ahonnan V = w i w i wv i w i i III. előadás 2008. február 25. 24/26
Racionális B-szplájn görbék (2/3) A görbe pontjáta háromdimenzióstérben az első három koordinátánaka homogén koordinátával való elosztásával kapjuk meg: x = w x w y = w y w z = w z w Ezután a racionálisb-szplájn görbefüggvénye Q ( ) u = i n = 0 n i = ( ) N u w V 0 i, k ( ) N u V i, k i i i III. előadás 2008. február 25. 25/26
Racionális B-szplájn görbék (3/3) Nem-egyenközű recionális B-szplájn görbe: Valamennyi alak leírására Analitikus alak egzakt (nem közelítő!) Az alakmodellezésben egyeduralkodóvá vált (CAD/CAM rendszerekben is) A racionális B-szplájn görbéket a csomóvektor és a súlyvektor jellemzi. Például öt vezérlőpontot közelítő görbe csomóvektora és w súlyvektora [0000122222] [1, 4, 1, 1, 1] Analitikus görbék leírásánál a w értéke meghatározza, hogy egyenes, ellipszis, parabola vagy hiperbola az adott szegmens. III. előadás 2008. február 25. 26/26