Geometrické modelování KMA / GS2 F. Ježek (JEZEK@KMA.ZCU.CZ)
Obsah Cíle geometrického modelování Tvorba a popis tvarově složitých objektů Bézierovy objekty B-spline NURBS Coonsovy pláty Objemové modelování Booleovské modelování – CSG strom Popis pomocí hranice – B-Rep Variační geometrie
Cíle geometrického modelování Tvarová volnost – design, styling Datový popis společný pro CAD (konstrukce) a CAE (výpočty), CAM (příprava výroby) atd. Idea izogeometrické analýzy – společný popis objektů pro tvorbu objektu (modelu) a pro výpočty (metoda konečných prvků)
Tvarově složité objekty Spline – posloupnost (matice) bodů, parametrizace, okrajové podmínky. Bézierovské objekty – lomená čára (síť) jako řídící útvar, globální popis, datová komprese. B-spline – bézierovský popis splinu, segmentace. NURBS (Non-Uniform Rational B-Spline) – B-spline v projektivním rozšíření, váhy, základem jsou pak racionální lomené funkce. Coonsovy pláty – „záplaty“ pro drátěný model (je dán systémem křivek na ploše)
Definice Bézierových křivek Křivky určené řídícím polygonem (lomenou čárou) Myšlenka volného tváření tvarově složitých objektů (lodě, automobily, letadla, umění) Vznik u Renaultu (P. Bézier), Citroenu (de Casteljau)
Definice Bézierových křivek Dáno: řídící polygon (lomená čára) Bézierova křivka Bernsteinovy polynomy (bázové funkce)
Bernsteinovy polynomy
Algoritmus de Casteljau
Definice Bézierových ploch Dáno: řídící síť Bézierova plocha maticově
Algoritmus de Casteljau Realizace po křivkách
Algoritmus de Casteljau Realizace po plochách
B-spline Nevýhody Bézierových křivek a ploch Podstata B-spline: Globální mimika Polynomy vysokého stupně (stupeň určuje počet stran řídícího polygonu) Problém s popisem uzavřených křivek Podstata B-spline: Bézierův popis (řídící lomená čára), ale segmentace křivky Volitelný stupeň a parametrizace
Definice B-spline křivky Dáno: Řídící lomená čára Stupeň křivky Parametrizace Definice
B-spline – změna stupně Uniformní parametrizace (0,…,0,1,2,….,s,….,s). s – počet segmentů křivky. Číslo 0 a s se opakuje m krát. Pro uniformní parametrizaci a m=n přechází B- spline na Bézierovu křivku.
Posunutí vrcholu U křivky s nižším stupněm je změna tvaru způsobená změnou polohy vrcholu řídícího polygonu lokalizována, tedy redukuje se na několik oblouků křivky.
Vlastnosti B-spline křivek Podmínka konvexního obalu se lokalizuje – segment křivky stupně m leží v konvexním obalu m+1 vrcholů řídícího polygonu. Generování bodů B-spline křivky je možné provést algoritmem de Boorovým. Podstata je podobná jako u algoritmu de Casteljau, ale dělící poměr není konstantní (je odvozen z vektoru parametrizace).
Podmínka konvexního obalu
Racionální specializace - NURBS Nevýhody B- spline: Pomocí B- spline lze modelovat jen objekty, které mají po částech polynomiální vyjádření. „Neparabolické“ kuželosečky a kvadriky nemají B-spline popis, tedy kružnice, elipsy, hyperboly a jejich oblouky nelze reprezentovat pomocí B-spline. NURBS – Non-Uniform Rational B-Spline NURBS je B-spline v projektivním rozšíření prostoru, tedy v prostoru využívajícím homogenní souřadnice. Homogenizující složka souřadnic bodů se nazývá váha
NURBS plocha
Změna váhy vrcholu řídícího polygonu Změna váhy může být z fyzikálního hlediska chápána jako změna tuhosti pružiny, která „vtahuje“ křivku do daného bodu.
Kružnice Kružnici lze popsat přesně pomocí NURBS. Nastavení váhy pro oblouk kružnice: kde je polovina středového úhlu daného oblouku.
Určení NURBS plochy Řídící síť Stupně v daných proměnných Vektory parametrizace Váhy vrcholů
Modifikace NURBS objektu
Konstrukce z vrstevnic
Konstrukce z vrstevnic
Křivosti plochy - analýza
Křivosti plochy - analýza
Vytváření ploch Interpolace - matice bodů (mračno bodů) Aproximace - matice bodů (mračno bodů) Kinematický popis translační, rotační, šroubové, swung (zobecnění rotačních ploch) - profilová křivka je umísťována její rotací na vodící křivku, skinned (loft) - sled křivek sweep - nemusí jít o NURBS, profil vedený až po třech trajektoriích.
Swung
Loft (skinned)
Sweep
Sweep
Vlastnosti NURBS Generování NURBS je projektivně (nikoliv jen afinně) invariantní NURBS objekty se staly jednotícím objektem (jednotná datová reprezentace) CAD a CAM systémů Moderní CAD systémy používají různých výtvarných principů (sweep, blend apod.), ale vnitřně objekty realizují jako NURBS NURBS nejsou ovšem řešením všech problémů CAD a CAM– např. ekvidistanta k NURBS objektu nemusí být již NURBS objektem
Označení
Typy Coonsových ploch Přechodová plocha – lofting Je určena dvěma křivkami Bilineární Coonsův plát Je určena čtyřmi okrajovými křivkami (křivočarým čtyřúhelníkem) Bikubický Coonsův plát Je určena čtyřmi okrajovými křivkami (křivočarým čtyřúhelníkem) Dvanáctivektorový Coonsův plát Je určena čtyřmi rohovými body a tečnými vektory parametrických křivek v nich (tj. vektory parciálních derivací v rozích plátu) Šestnáctivektorový Coonsův plát Je určena čtyřmi rohovými body, tečnými vektory parametrických křivek v nich (tj. vektory parciálních derivací v rozích plátu) a twisty v rozích plátu (tj. vektory druhých smíšených parciálních derivací v rozích plátu)
Přechodová plocha (lofting) Dáno: dvě křivky parametrizované nad shodným intervalem Rovnice plochy Maticové vyjádření
Příklad přechodové plochy
Bilineární Coonsův plát Dáno: čtyři křivky parametrizované nad intervalem <0,1> Rovnice plochy v maticovém tvaru
Vlastnosti bilineárního plátu Pokud jsou protější dvě strany bilineárního plátu přímky, jsou i příslušné parametrické křivky přímkami. Pokud jsou protější dvě strany bilineárního plátu přímky, splývá bilineární plát s přechodovou plochou zkonstruovanou pro zbývající dvě okrajové křivky.
Bikubický Coonsův plát Dáno: čtyři křivky parametrizované nad intervalem <0,1> Rovnice plochy v maticovém tvaru
Vlastnosti bikubického plátu Bikubický plát zajišťuje plátování Pro dva pláty, které mají společnou hraniční křivku a jejich hraniční křivky navazují alespoň v první třídě geometrické spojitosti, je automaticky zajištěna i taková spojitost pro příslušné parametrické křivky. Tedy: sousední pláty mají podle společné křivky společné tečné roviny. Tedy: společná hraniční křivka netvoří na výsledném modelu vizuální hranu Twisty (druhé smíšené parciální derivace) v rozích bikubického Coonsova plátu jsou nulové
Plátování
Dvanáctivektorový Coonsův plát Dáno: polohové vektory čtyři rohových bodů plátu čtyři tečné vektory (v 1. směru) v rohových bodech čtyři tečné vektory (v 2. směru) v rohových bodech
Dvanáctivektorový Coonsův plát Rovnice plochy v maticovém tvaru
Vlastnosti dvanáctivektorového plátu Okrajovými křivkami dvanáctivektorového plátu jsou Fergusonovy kubiky Dvanáctivektorový plát je bikubickým plátem pro okraje určené těmito Fergusonovými kubikami Tedy: dvanáctivektorový plát zajišťuje automaticky plátování Dvanáctivektorový plát se nazývá také Fergusonův plát
Šestnáctivektorový Coonsův plát Dáno: polohové vektory čtyři rohových bodů plátu čtyři tečné vektory (v 1. směru) v rohových bodech čtyři tečné vektory (v 2. směru) v rohových bodech čtyři twisty v rohových bodech
Šestnáctivektorový Coonsův plát Rovnice plochy v maticovém tvaru
Vlastnosti šestnáctivektorového plátu Okrajovými křivkami plátu jsou Fergusonovy kubiky Šestnáctivektorový plát je základem pro generování spline ploch, tj. ploch, jejichž parametrické křivky jsou spline křivkami
Příklad Určete bilineární Coonsův plát pro okraj daný obrázkem 1 2
Příklad Určete bilineární Coonsův plát pro okraj daný obrázkem 1 2 čtvrtkružnice Určete bilineární Coonsův plát pro okraj daný obrázkem
Řešení (srovnání bilineárního a bikubického plátu) Bilineární plát Bikubický plát
Vytváření geometrické informace Kreslení (drafting) Modelování uchopováním na mřížce (grid snap) Modelování uchopováním na objektech (object snap) Modelování použitím geometrických vazeb (geometric constraits) Parametrické modelování (parametric modeling, parametric constraints) Dosazovací příkaz Rovnice Nerovnice, algoritmy
Od statické k variační geometrii Popis geometrie objektu (topologická i metrická informace) Popis skicy (topologická informace) Kóta (vizualizace metrické informace) Kóta (doplnění nebo změna metrické informace) Klasické (statické) geometrické modelování Variační (parametrické) geometrické modelování
Chyzův graf Ohodnocený a orientovaný graf topologických a metrických vztahů v útvaru. Uzly: body, úsečky Pro lomenou čáru: objekt je dobře dimenzován, jestliže do uzlu grafu vstupují dvě orientované hrany grafu. Problém trojúhelníka zadaného třemi úhly (studium invariantů)
Chyzův graf - ukázka D1 D6 D3 D2 D5 D4 U1 r r k k umístění