Tstmodllzés 1 1. Tstmodllzés Egy objktum modlljén az objktumot rprzntáló adatrndszrt értjük. Egy tstmodll gy digitális rprzntációja gy létz vagy lképzlt objktumnak. A trvzés, a modllzés során mgadjuk a objktum gomtria adatait. Ez történht a modllzési módszrnk mgfll közvtln mgadással, vagy a modllzési rndszrt l függtln módszrrl, a modll általános alapadataival. Utóbbi stbn a rndszr az adatokból a számára mgfll adatszrkztt állítja l. A mgjlnítés után lht ség van a modll módosítására. Általában az összttt objktumok gyszr bb adatszrkzt, könnyn dniáltó, alapobjktumokból állnak össz. A tstmodllzésnk, a gomtriai modllzésnk (Solid modling, Gomtric modling) számos flhasználási trült van az ipartól a szórakoztatáson át az gészségügyig. Többfél tstmodllt különböztthtünk mg a modll adatszrkzt szrint. 1.1. Drótvázmodll A drótváz- vagy élmodll (wir fram modl) a lggyszr bb tstmodllzési módszr. Egy drótváz modllzési rndszrbn a gomtriai objktumot az kt mghatározó csúcspontok és az zkt összköt élk írják l. (Az élk nm fltétlnül gyns szakaszok.) 1.1. Példa. Az 1. ábrán vázolt négyzt alapú gúla csúcspontjai lgynk a kövtkz koordinátákkal mgadva. 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 4 A 1 A 7 7 4 4 5 6 5 A 6 0 A 3 3 3 0 0 2 2 1 2 1 1. ábra. Gúla Ekkor a csúcspontok koordinátáit gy V csúcspont (vrtx) listában tárolhatjuk. V = {(0, 0, 0), (2, 0, 0), (2, 2, 0), (0, 2, 0), (1, 1, 3)}. Az csúcspontokat összköt élk (dg) E listája a mgfll élk kzd és végpontjai indxib l kapott számpárokat tartalmazza. E = {(0, 1), (1, 2), (2, 3), (3, 0), (0, 4), (1, 4), (2, 4), (3, 4)}. Thát a gúla drótvázmodlljét a V és E listák gyüttsn írják l.
2 Számítógépi gomtria E módszr l ny, hogy kvés adattal, gyszr n írhatók l a térbli alakzatok. A modllztt alakzatok gyorsan mgjlnítht k. Hátránya, hogy nm lht láthatóság szrint ábrázolni az objktumokat, lírhatók nm létz objktumok (2. ábra). Továbbá nm gyértlm, több tstnk is lht ugyanaz a modllj (3. ábra). Ezn hiányosságok miatt nm tkintjük tljs érték tstmodllnk. 2. ábra. Nm létz, d drótvázmodlll lírható alakzat 3. ábra. Egy adatrndszr több objktumot is modllzht 1.2. Flültmodll A flültmodll (palástmodll, B-rp Boundary Rprsntation) a drótvázmodll továbbfjlsztésénk tkintht. Azon a fltétlzésn alapul, hogy az objktumokat lapok határolják, a lapokat élk, az élkt két csúcspont. A lapok az kt határoló élkkl, az élk az kt határoló csúcspontokkal, a csúcspontok pdig a koordinátájukkal adhatók mg. A lapok lhtnk flültk 1, az élk lhtnk görbék, kkor az gynltikkl és a határoló adataikkal adjuk mg kt. Sok flültmodlln alapuló rndszr csak síklapokat ngd mg. Az ilyn rndszrkkl csak poliédrk rprzntálhatók gzaktul. A görbült flültkt poliédrkkl közlíthtjük. Az ilyn modllkt poliédrmodll knk nvzzük. A modllzht tstkr néhány mgszorítást kll tnnünk. A lapok határai gyszr sokszögk lgynk, mindn élbn pontosan két lap találkozzon, valamint kizárjuk azokat a tstkt, amlyk gymáshoz, vagy önmagukhoz élbn, vagy csúcsban csatlakoznak. A 4. ábrán néhány nm modllzht tst látható. 1 A flültk és a görbék l állatására kés bb számos példát látunk.
Tstmodllzés 3 4. ábra. Flültmodlll nm modllzht poliédrk 1.2. Példa. Az 1.1 példában adott gúla adatszrkztét gészítsük ki a gúla lapjait tartalmazó F flült (fac) listával. Egy lapot adjunk mg a határoló élk indxink sorozatával kívülr l nézv pozitív (óra mutató járásával llntéts) körüljárási irányban flsorolva (1. ábra). Ekkor a lapokhoz tartozó normálvktort mindig a tstb l "kifl" mutatónak értlmzhtjük. Ez a láthatóság ldöntés miatt szükségs. F = {(1, 6, 5), (2, 7, 6), (3, 4, 7), (0, 5, 4), (0, 3, 2, 1)}. Thát a gúla gy flültmodlljét (poliédrmodlljét) a V, E és F listák gyüttsn írják l. Több flültmodll lírás is létzik, pl. csúcsok listájából mgadhattuk volna l ször a lapok, majd bb l az élk listáját is (ügylv a körüljárásra). A poliédrmodll l ny, hogy a líró adatstruktúra gyszr, a láthatóság szrinti ábrázolás könnyn mgvalósítható. A modllztt objktum módosítható. A módosítások során az adatstruktúrához pontok, gynsk, lapok adhatók hozzá, vagy törölht k. Ügyljünk arra, hogy az Eulr-tétlt btartva mindhárom lista mgfll n módosuljon. A c +l = 2 Eulr-tétl a konvx poliédr csúcsainak (c), élink () és lapjainak (l) száma közötti összfüggést írja l. Az Eult-tétlt btartó poliédrk adatstruktúráit módosító m vltkt nvzzük Eulr-m vltknk, vagy Eulr-oprátoroknak. A poliédrmodll hátránya mindnk l tt a görbült flültk közlítéskor fllép pontatlanság. Ez csökkntht a lapok számának növlésévl, ami az élk és a csúcspontok számának növlésévl jár, amly jlnt sn növli az adatrndszr tárolásának a hlyigényét és az ábrázolás idjét. 1.3. Térfogatmodll A flültmodll mlltt a másik lgltrjdtbb modll a térfogatmodll (CSG Constructiv Solid Gomtry). Ez a modllzési módszr l r dniált gyszr alaptstkb l, un. primitívkb l halmazm vltk (Bool-m vltk unió, mtszt, különbség) sgítségévl állítja l az objktumokat. A lggyakrabban alkalmazott primitívk a gúla, a hasáb (téglatst, ék), a gömb, a kúp, a hngr és a tórusz. A primitívk F (x, y, z) 0 implicit gynltkkl mgadott zárt térrészként vannak dniálva (F (x, y, z) általában polinomfüggvény). Például az origó középpontú gység sugarú gömb az x 2 + y 2 + z 2 1 0 gynlttl, gy gységkocka az x 1, x 0, y 1, y 0, z 1, z 0 féltrk mtsztként állítható l. Az alapalakzatokat mghatározó adataival adjuk mg, pl gömböt a középpontjának koordinátáival és sugarával, hngrt az alapkörénk síkjával,
4 Számítógépi gomtria középpontjával, sugarával és magasságával. A mgadott primitívkr és az általuk l állított objktumokra, mlyk szintén zárt térrészt dniálnak, a térbli transzformációk sgítségévl módosíthatók. A primitívk általában lokális koordináta-rndszrbn vannak tárolva, hogy módosításkor lég lgyn az alapadatok mgváltoztatása. Általában lht ség van a trvz által létrhozott további tstprimitívk dniálására is. Ezk síkbli tartományokból létrhozhatók kihúzással (5. ábra), forgással (6. ábra), söpréssl (7. ábra), vagy pásztázással (8. ábra). Az összttt objktumok dniálásánál nm csak az gysítés, a közös rész képzés, a kivonás mgngdtt, hanm pl. a síkkal való mtszés, lapok mozgatása is. 5. ábra. Kihúzás 6. ábra. Forgás A térfogatmodlll végs, zárt objktumok széls skáláját lht dniálni, mlyk mgvalósíthatósága is biztosított. Az adatszrkzt kis hlyn tárolható. A vizuális visszacsatolás, a mgjlnítés, kissé bonyolult és lassú, mrt nincs közvtln hozzáférés a csúcs, él és lap információkhoz.
Tstmodllzés 5 7. ábra. Kihúzás útvonal mntén (söprés) 8. ábra. Kihúzás krsztmtsztk mntén (pásztázás) 1.3. Példa. Hasábokból és hngrb l az unió és a kivonás halmazm vltkkl a kövtkz képpn adhatunk mg gy térbli tstt (9. ábra). U - = 9. ábra. Térfogatmodll primitívkb l
6 Számítógépi gomtria 1.4. Clla módszr A trt osszuk fl kis lmi részkr, cllákra (clural dcomposition). Lgynk az lmi részk, a voxlk (voxl = volum lmnt) kis kockák. Mindn voxlr l l kll döntni, hogy a dniált objktumon blül, vagy kívül van. Általában azt a voxlt is amlynk térfogatának több mint fl (vagy középpontja) az objktumhoz tartozik a bls k közé soroljuk. Az ábrázolandó térrész kis kockái gy 3 dimnziós tömbbn bitnként tárolhatók. A mgfll bit 1, ha a kocka az objktumhoz tartozik, 0, ha nm. Az objktumok uniói, mtszti és különbségi így könnyn kzlht k bit m vltkkl. Az objktumok adatszrkzt rndkívül gyszr, a tömg és térfogat számítás stén jól alkalmazható. A módszr hátránya, hogy gy tstt nagyszámú voxlll írhatunk l, nagy a tárigény, az ábrázolandó tstt csak közlíti. Különböz mért voxlkkl javítható a módszr hatékonysága. Néhány CAD szoftvr a fnti tstmodllzési módszrk közül többt is tud alkalmazni. A módszrk adatstrukturáiból kövtkzik az átjárhatóság. Egy gomtriai objktum térfogatmodlljéb l l lht állítani a flült-, majd abból a drótvázmodlljét is, d z fordítva általában nm lhtségs. Bizonyos fltétlk mlltt a flültmodllb l l állítható a térfogatmodll is. 1.4. Fladat. 1.4.1. Írja l két gység élhosszú kocka drótváz és flültmodlljénk adatszrkztét az 1.1. és az 1.2. példák alapján! 1.4.2. Készíts l a 9., a 10 és a 11. ábrán látható alakzatok modlljét ACAD-dl! 60 12 30 60 12 30 48 12 38 12 20 160 136 80 140 10. ábra. Fladat
Tstmodllzés 7 70 10 10 25 25 60 20 100 R30 100 100 11. ábra. Fladat 35 r=35 t r =25 t 100 35 12. ábra. Fladat 1.4.3. Készíts l a 12. ábrán látható, mridián görbéivl adott forgáststk modlljét ACAD-dl! 1.4.4. (Badandó.) Készíts l gy madártt modlljét ACAD-dl! Készíts l az alakzat löl- és flülnéztét (ha szükségs balnéztt vagy frd néztt), valamint axonomtrikus vtültét A4-s mért lapra kinyomtatva! Vgy gylmb a kövtkz kt: cím Arial, 7mm, fnt középn; név, csoport Arial 3,5mm, lnt jobbra; látható vonalak folytonos, 0,6mm; takart vonalak vtültkn szaggatott, 0,3mm, axonomtrián nincs takart vonal (vagy folytonos, 0,2mm), a lap szélét l 10mm-r körbn gy 0,7mm-s krt van. (A 13. ábrán gy madárodú vtülti láthatók.)
8 Számítógépi gomtria Hivatkozások 13. ábra. Madárodú [1] Juhász Imr, Számítógépi gomtria és graka, Miskolci Egytmi Kiadó, Miskolc, 1993. [2] Budai Attila, A számítógéps graka, LSI Oktatóközpont, Budapst, 1999. [3] Szirmay Kallos László, Számítógéps graka, Computrbooks, Budapst, 2001. [4] Pintér Miklós, AutoCAD, tankönyv és példatár, Computrbooks, Budapst, 2008. [5] Juhász Imr, Számítógépi graka, Miskolci Egytm, 2007. (http://193.6.8.43/sgdlt/dokumntumok/tiszk/szamitogpi_grafika.php ) [6] Tornai Róbrt, Fjztk a számítógépi grakából, mobidiák könyvtár, Dbrcn, 2004. (http://aris.ktf.hu/ mod/bvgraf/fj_graf.pdf ) [7] Schwarcz Tibor, Bvztés a Számítógépi grakába, mobidiák könyvtár, Dbrcn, 2005. (www.inf.unidb.hu/grafika/schwarcz/bvgraf.pdf ) [8] Kovács Em d, Fjztk a számítógépi grakából, 1997. (http://www.ktf.hu/ mod/koma.pdf)
Tstmodllzés 9 [9] Kovács Zoltán, Komputrgomtria, (El adásvázlat). (http://zus.nyf.hu/ kovacsz/kompgom/indx.html ) [10] Christoph M. Homann, Gomtric and Solid Modling. (http://www.cs.purdu.du/homs/cmh/distribution/books/go.html) [11] Jakubk Lajos, AutoCAD tstmodllzés. (http://mk.nym.hu /filadmin/dokumntumok/mk/flt/flt/jgyztk/tstmodllzs.pdf) Készült L A TEX 2εvl.