Testmodellezés
Testmodellezés (Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja. A tervezés (modellezés) során megadjuk a objektum geometria adatait. - A modellezési módszernek megfelelő közvetlen megadással - A modell általános alapadataival. (A rendszer az adatokból a számára megfelelő adatszerkezetet állítja elő.) Általában egy összetett objektumot egyszerűbb adatszerkezetű, könnyen definiált alapobjektumokból állnak össze. A megjelenítés után lehetőség van a modell módosítására. Jellemző felhasználási területek: - Ipar - Szórakoztatás - Egészségügy Modell-lehetőségek: - Drótvázmodell - Felületmodell - Térfogatmodell - Cella módszer
Drótvázmodell (wire frame model) A drótváz- vagy élmodell a legegyszerűbb testmodellezési módszer. Egy drótvázmodellezési rendszerben a geometriai objektumot az őket meghatározó csúcspontok és az ezeket összekötő élek írják le. Példa: A négyzet alapú gúla csúcspontjai legyenek a következő koordinátákkal megadva: A 0 = (0; 0; 0), A 1 = (2; 0; 0), A 2 = (2; 2; 0), A 3 = (0; 2; 0), A 4 = (1; 1; 3). A csúcspontok koordinátáit egy V csúcspont (vertex) listában tárolhatjuk. V = {(0; 0; 0); (2; 0; 0); (2; 2; 0); (0; 2; 0); (1; 1; 3)}. A csúcspontokat összekötő élek E (edge) listája a megfelel élek kezdő- és végpontjai indexeiből kapott számpárokat tartalmazza. E = {(0; 1); (1; 2); (2; 3); (3; 0); (0; 4); (1; 4); (2; 4); (3; 4) }. A gúla drótvázmodellje a V és E listák együttese.
Drótvázmodell (wire frame model) Előny: - Kevés adattal, egyszerűen írhatók le a térbeli alakzatok. - A leírt alakzatok gyorsan megjeleníthetők. Hátránya: - Nem lehet láthatóság szerint ábrázolni az objektumokat, - Leírhatók nem létező objektumok, - Nem egyértelmű, több testnek is lehet ugyanaz a modellje. Ezen hiányosságok miatt nem tekintjük teljes értékű testmodellnek.
Drótvázmodell (wire frame model)
Felületmodell (palástmodell, B-rep Boundary Representation) A drótvázmodell továbbfejlesztésének tekinthető. Az objektumokat lapok határolják, a lapokat élek, az éleket két csúcspont. Leírás: Lapok a határoló élekkel Élek a határoló csúcspontokkal Csúcspontok koordinátákkal írhatók le. A felületmodellen alapuló rendszerek általában csak síklapokat engednek meg, így csak poliédereket tudnak pontosan megjeleníteni. A görbült felületeket poliéderekkel közelíthetjük. (Poliédermodell)
Felületmodell (palástmodell, B-rep Boundary Representation) Példa: A négyzet alapú gúla drótvázmodellje a csúcs- és éllisták együttese: V = {(0; 0; 0); (2; 0; 0); (2; 2; 0); (0; 2; 0); (1; 1; 3)} E = {(0; 1); (1; 2); (2; 3); (3; 0); (0; 4); (1; 4); (2; 4); (3; 4) } Egészítsük ki a gúla lapjait tartalmazó F felület (face) listával. F = {(1; 6; 5); (2; 7; 6); (4; 3; 7); (5; 4; 0); (0; 3; 2; 1) } Egy lapot adjunk meg a határoló élek indexeinek sorozatával kívülről nézve pozitív (óra mutató járásával ellentétes) körüljárási irányban felsorolva. A gúla egy felületmodelljét (poliédermodelljét) a V, E és F listák együttesen írják le.
Felületmodell (palástmodell, B-rep Boundary Representation) Megszorítások: Olyan poliéderek modellezhetők, ahol - a lapok határai egyszerű sokszögek, - minden élben pontosan két lap találkozik, - kizárjuk azokat a testeket, amelyek egymáshoz, vagy önmagukhoz élben, vagy csúcsban csatlakoznak. Néhány nem modellezhető test:
Felületmodell (palástmodell, B-rep Boundary Representation) Előnyök: - A leíró adatstruktúra egyszerű. - A láthatóság szerinti ábrázolás könnyen megvalósítható. - A modellezett objektum módosítható. (Az adatstruktúrához pontok, egyenesek, lapok adhatók hozzá, vagy törölhetők.) Hátrányok: - A görbült felületek közelítésekor fellépő pontatlanság. (Ez csökkenthető a lapok számának növelésével, ami az élek és a csúcspontok számának növelésével jár. Ez jelentősen növeli az adatrendszer tárolásának a helyigényét és az ábrázolás idejét.)
Térfogatmodell (CSG - Constructive Solid Geometry) Előre definiált egyszerű alaptestekből, un. primitívekből halmazműveletek (Boole-műveletek unió, metszet, különbség) segítségével állítjuk elő az objektumokat. A leggyakrabban alkalmazott primitívek: - gúla - hasáb - gömb - kúp - henger - tórusz Az primitívek meghatározó adatai: gömb - a középpontjának koordinátái és sugara henger - az alapkör síkja, középpontja, sugara és magassága stb. A megadott primitívek és a belőlük előállított objektumok a térbeli transzformációk segítségével módosíthatók.
Térfogatmodell (CSG - Constructive Solid Geometry) Általában lehetőség van a tervező által létrehozott további testprimitívek definiálására is. Ezek síkbeli tartományokból létrehozhatók kihúzással, forgatással, pásztázással (söpréssel).
Térfogatmodell (CSG - Constructive Solid Geometry) Az összetett objektumok definiálásánál nem csak az egyesítés, a közös rész képzés, a kivonás megengedett, hanem pl. a síkkal való metszés is. A térfogatmodellel véges, zárt objektumok széles skáláját lehet definiálni, melyek megvalósíthatósága is biztosított. Az adatszerkezet kis helyen tárolható. Példa: Primitívekből halmazműveletekkel előállított bonyolultabb alakzat
Cella módszerek (Volume visualisation) A teret kis elemi részekre, cellákra (celural decomposition) osztjuk. Cellák - pici egységkockák (voxel = volume x element). Minden voxelről el kell dönteni, hogy a definiált objektumon belül, vagy kívül van. Általában azt a voxelt is, amely térfogatának több mint fele (vagy középpontja) az objektumhoz tartozik a belsők közé soroljuk. A legegyszerűbb adatszerkezet a voxelek tárolására egy háromdimenziós tömb, melynek elemei igaz hamis (1 0) értékek lehetnek.
Cella módszerek (Volume visualisation) Az objektumok uniói, metszetei és különbségei így könnyen kezelhetők bit műveletekkel. Az objektumok adatszerkezete rendkívül egyszerű, a tömeg és térfogat számítás esetén jól alkalmazható. Hátrány: - nagy tárigény - nagy felbontás estén is csak közelítjük az objektumot. (A megfelelő pontosság eléréséhez kis egységkockákat tovább kell majd bontanunk.)
http://www.drububu.com/animation/lego/index.html
Néhány CAD szoftver a fenti testmodellezési módszerek közül többet is tud alkalmazni. A módszerek adatstruktúráiból következik az átjárhatóság. Egy geometriai objektum térfogatmodelljéből elő lehet állítani a felület-, majd abból a drótvázmodelljét is, de ez fordítva általában nem lehetséges. Bizonyos feltételek mellett a felületmodellből előállítható a térfogatmodell is.