Trocha historie geometrické modelování veliký pokrok v oblasti letectví 944 Roy Liming analytik, North American Aviation (výrobce letadel) společně s konstruktérem a designérem Edgardem Schmuedem matematizace povrchu letounů poprvé klasické konstruování kombinované s výpočetními metodami poprvé zavedl mnohem účinnější metody jako první začal popisovat křivky numericky (konstruování křivek a ploch v minulosti spočívalo na metodách DG) nesporné výhody interpretace matematického popisu (na rozdíl od kresby) vždy správná veliký ohlas - brzy se rozšířilo do dalších amerických společností pro výrobu letadel Počítačová geometrie
Trocha historie v lodním i leteckém průmyslu postupně se začínaly využívat kubiky (do té doby kružnice, kuželosečky) plochy se rozdělily na části (tzv. pláty) vše definováno pomocí matematických rovnic 0. léta 0. století James C. Ferguson analytik u amerického výrobce letadel Boeing matematicky popsal plochu s kubickými parametrickými křivkami, na místo ploch vytvářených do té doby graficky na základě oblouků kuželoseček Počítačová geometrie
Trocha historie Steven Anson Coons profesor na Massachusetts Institute of Technology (MIT) ve strojním inženýrství, zaměstnanec u amerického výrobce letadel Chance Vought matematizace povrchů letounů popisy obecných plátů ploch zadávány libovolnými okrajovými křivkami jeho teorie základ pro definice ploch, které se dnes běžně užívají př. B-spline nebo NURBS plochy 0. léta 0. století výroba prvních počítačů, které se využívají ve strojírenství k řízení strojů, postupně se rozšiřují do dalších odvětví ještě však nejsou známy metody, jak počítačům předávat data v numerické podobě (Limingova metoda používána zpočátku jen v leteckém průmyslu) Počítačová geometrie
Trocha historie k rozvoji geometrického modelování (a to právě v předávání dat počítači) nezávisle na sobě přispěli Francouzi Paul de Faget de Casteljau a Pierre Etienne Bézier většina významných objevů v oblasti geometrického modelování byla až do 70. let 0. století izolována nakonec tyto snahy vyvrcholily vznikem nové vědní disciplíny CAGD - Computer Aided Geometric Design (výpočetní geometrie) bez zavedení počítačů do výroby by se ale tato disciplína jistě nemohla rozvinout Počítačová geometrie
Trocha historie metody počítačového modelování velmi se zdokonalily dnes k dispozici velmi kvalitní matematický aparát výraznou změnu přineslo používání - racionálních Bézierových křivek a ploch a neuniformních racionálních B-spline křivek a ploch tzv. NURBS těmito metodami lze pomocí aproximace generovat klasické geometrické prvky kuželosečky, kulové plochy, kvadratické plochy Počítačová geometrie
Trocha historie v posledních letech vývoj v oblasti geometrického modelování přinesl mnoho dalších typů křivek a ploch zaváděných k různým speciálním účelům geometrické modelování obor, který se neustále vyvíjí v současné době využívá počítačové modely prakticky každá oblast výroby rozvoj grafických editorů, tzv. CAD systémů, umožnil projektování na počítači v různých odvětvích průmyslu Počítačová geometrie
Coonsovy kubiky určena čtyřmi řídícími body předpis pro výpočet Coonsovy kubiky Q( t) PC i i( t) i0 P0, P, P, P, kde C t t t t 0( ) C t t t ( ) 4 C t t t t ( ) C () t t t 0,
Coonsovy kubiky předpis - maticově Q() t T P 0 0 P 0 0P 4 0 P T t t t t 0,
Coonsovy kubiky t 0 t Q( t) PC i i( t) položíme-li resp. ve vztahu i0 odvodíme C C C C 0 (0) (0) 4 (0) (0) 0 Q(0) P 4P P 0 počáteční bod křivky je tzv. antitěžiště P PP trojúhelníka pro vrchol tj. leží na 0 těžnici trojúhelníka procházející vrcholem a vzdálenost bodů délky těžnice PQ (0) P se rovná jedné třetině
Coonsovy kubiky příklad Coonsovy kubiky Q (0) antitěžiště Q () těžiště
Coonsovy kubiky t 0 t Q( t) PC i i( t) položíme-li resp. ve vztahu i0 odvodíme C C C C 0 () 0 () () 4 () Q() P 4P P koncový bod křivky je tzv. antitěžiště PP P trojúhelníka pro vrchol tj. leží na těžnici trojúhelníka procházející vrcholem a vzdálenost bodů délky těžnice PQ () P se rovná jedné třetině
Coonsovy kubiky příklad Coonsovy kubiky Q (0) antitěžiště Q () těžiště
Coonsovy kubiky t 0 t dosadíme-li-li resp. do derivace vztahu Q( t) PC i i( t) Q( t) PC i i( t) i0 odvodíme tečné vektory v počátečním a koncovém bodě Coonsovy kubiky i0 C t t t 0( ) C t t t ( ) 9 C t t t ( ) 9 C( t) t C(0) 0 C(0) 0 C(0) C(0) 0 Q(0) P0 P P P0
Coonsovy kubiky t 0 t dosadíme-li-li resp. do derivace vztahu Q( t) PC i i( t) Q( t) PC i i( t) i0 odvodíme tečné vektory v počátečním a koncovém bodě Coonsovy kubiky i0 C t t t 0( ) C t t t ( ) 9 C t t t ( ) 9 C( t) t C() 0 0 C() C() 0 C() Q() P P P P
Coonsovy kubiky tečné vektory tj. tečna Coonsovy kubiky v bodě je rovnoběžná s přímkou a tečna v bodě je rovnoběžná s přímkou vzhledem k předchozí vlastnosti, jsme dokázali Počítačová geometrie Q(0) P P0 Q() P P (0) () Q PP 0 Q PP Coonsova kubika je Fergusonovou kubikou pro body a tečné vektory v nich: P 4P P 0 P 4P P a P P P 0 P
Coonsovy kubiky příklad Coonsovy kubiky Q (0) antitěžiště Q () těžiště
Coonsova kubika vlastnosti kubika obecně neprochází krajními body svého řídícího polygonu kubika leží v konvexním obalu řídících bodů důkaz plyne z: i0 C ( t), t i některé speciální případy zadávání Coonsovy kubiky P, P, P, P leží-li řídící body 0 na přímce, pak je Coonsova kubika úsečkou na této přímce splynou-li body, leží bod na úsečce a platí P P 0 0 bod se nazývá dvojnásobný bod řídícího polygonu 0 P P P P (0) Q(0) P P P 0 0 Q PP 0
Coonsova kubika vlastnosti některé speciální případy zadávání Coonsovy kubiky P P P P P Q(0) P splynou-li body, pak 0 0 a Coonsova kubika je úsečkou s druhým krajním bodem: P P P Q() P P P bod se nazývá trojnásobný bod řídícího polygonu 0 0 0 0
Bézierova a Fergusonova kubika Fergusonovu kubiku můžeme vyjádřit jako Bézierovu kubiku nechť je Fergusonova kubika dána Q, Q a dvěma řídící body dvěma tečnými vektory v nich potom pro vrcholy řídícího polygonu Bézierovy kubiky 0 jednoduše odvodíme V Q Počítačová geometrie 0 V, V, V, V Q, Q 0 0 0 V Q0 Q 0 V Q Q V Q
Bézierova a Fergusonova kubika Q 0 V Q 0 0 V Q0 Q 0 V Q Q V Q V Q 0 0 0 8 4 0 - V V - -4-0 4 8 V Q Q
Bézierova a Coonsova kubika Coonsovu kubiku můžeme vyjádřit jako Bézierovu kubiku nechť je Coonsova kubika dána čtyřmi řídící body P, P, P, P potom pro vrcholy 0 řídícího polygonu Bézierovy kubiky jednoduše odvodíme V0 P0 4P P V P P V P P V P 4P P Počítačová geometrie 0 V, V, V, V
Bézierova a Fergusonova kubika V P 4P P V P P V P P V P 4P P 0 0 0 9 8 7 5 4 P V 0 V V V P P 0 - -4-0 4 8 P 0
Coonsova kubika napojování navazování segmentů složených z Coonsových kubik Q Q 7 Q 4 Q Q 5 P, P, P, P P, P, P, P Qi i i i i segment je určen body, následující segment je definován body - tedy třemi posledními body segmentu a i i i i jedním bodem segmentu následujícího Qi Q i
Coonsova kubika napojování navazování segmentů složených z Coonsových kubik vzniká uniformní neracionální kubický B-spline (Coonsův kubický B-spline) je určen řídícími body a skládá se z Coonsových 0 n kubik kubika je určena řídícími body Q, Q,..., Qn P, P,..., P, n n 4 Qi Pi, Pi, Pi, Pi P, P, P, P,..., P, P, P, P při násobnosti vrcholů 0 0 0 n n n n výsledný kubický B-spline prochází krajními body svého řídícího polygonu (první a poslední segment jsou úsečky) P, P,..., P, P, P, P lze uvažovat také uzavřené křivky 0 m 0 opakování prvních tří řídících bodů na konci řídícího polygonu 0, n parametr t probíhá intervalem, hodnoty parametru v uzlech (body, ve kterých jsou segmenty napojeny) definují uzlový vektor tyto hodnoty mají konstantní vzdálenost t i t i k uzlový vektor je uniformní
B-spline křivka přirozený kubický spline interpolační křivka skládající se z polynomů stupně tři, ve svých uzlech spojitá B-spline křivka = křivka aproximační C B-spline křivka stupně k je určena vztahem k Ni k () t n k Q( t) PN i i ( t) i0 - i-tá B-spline bázová funkce stupně k - stupeň B-spline t t t t N ( t) N ( t) N ( t) k i k ik k i i i tik ti tik ti, kde N k n 0 i () t 0 t jinak ti, ti
B-spline křivka uzlový vektor parametrů t0, t,..., t m n+ řídících bodů m+ uzlových bodů k stupeň křivky platí: m k n t t konst pokud platí i i, potom hovoříme o uniformní parametrizaci. může se stát, že v předpisech pro B-spline bázové funkce vznikají výrazy typu a/0, pokládáme je rovny nule
B-spline křivka Coonsův kubický B-spline (jeden oblouk) speciální případ B-spline křivky pro,,,0,,,,4 uzlový vektor stupeň k= počet řídících bodů 4 na t 0, vlastnosti B-spline křivek Počítačová geometrie invariantní vůči otáčení, posunutí, změně měřítka jednotlivé segmenty leží v konvexních obálkách svých řídících polygonů křivka celá leží v konvexní obálce svých řídících polygonů body řídícího polygonu mohou být vícenásobné vliv změny polohy řídícího bodu je lokalizován, obecně nedochází ke změně celé křivky
B-spline křivka Lokalita změny tvaru křivky při změně polohy bodu řídícího polygonu změna tvaru čtyř segmentů
NURBS neuniformní racionální B-spline křivka k Ni k i () t Qt () n i0 n i0 PN k i i i N - je váha bodu řídícího polygonu i k i () t () t - i-tá B-spline bázová funkce stupně k - stupeň B-spline, kde t t t t N ( t) N ( t) N ( t) k i k ik k i i i tik ti tik ti N 0 i () t 0 t jinak ti, ti
NURBS neuniformní racionální B-spline křivka umožňují přesné vyjádření kuželoseček jako podíl polynomů jsou invariantní k rotaci, translaci, změně měřítka a navíc i k paralelnímu a středovému promítání kružnice definovaná jako NURBS vliv váhy bodu