8. Alternatív modellezési módok

8.1. Modellezési módok

8.1.1. Drótváz vagy huzalvázmodell

  • A határoló éleket, jellegzetes vonalakat adjuk meg egyenesek, ívek és görbék formájában.

  • A megjelenítésénél a szemléltetés nem egyértelmű. Egyazon drótvázhoz lényegesen különböző testek is tartozhatnak.

  • Mivel az ilyen modellek esetében csak az éleket ismerjük, így nem használhatóak ütközésvizsgálathoz, térfogatszámításhoz.

  • Manapság a szerkesztés egy közbülső lépéseként használatos.

8.1.2. Felületmodell

  • A modellezett objektumot a határoló felületekkel írjuk le. Felület foltokat illesztünk egymáshoz.

  • A modellezési mód a topológiai információkat nem kezeli. Külön vizsgálatokat igényel, hogy összefüggő, folytonos, továbbá, hogy zárt felületről van-e szó.

  • A megjelenítési módja már jobban közelíti a valóságot. Használhatunk árnyalást, árnyékokat, textúrákat.

8.1.3. Palástmodell

  • Angol neve: Boundary Representation, vagy röviden B-rep.

  • Az objektumokat véges, zárt burok formájában (mint palástot) írja le (többségében) poliéderes közelítéssel.

  • Feltételezi, hogy a fizikai modellnek véges, zárt felülete van.

  • A modellt topológia szempontjából is teljeskörűen jellemzi.

  • Alkalmas például szimulációkhoz, végeselemes háló készítéséhez.

Fajtái: * poliéderes palástmodell: sík lapokkal (például háromszögmodell) írja le, * valósághű palástmodell: tetszőleges felületek használhatóak a pontosabb közelítés érdekében.

8.1.4. Testmodell

  • Nevezik még térfogat-modellezésnek vagy CSG-modellezésnek.

  • A modellt véges, zárt ponthalmazként írja le.

  • Absztrakció szintjén lényegesen egyszerűbb, mint az előzőekben felsorolt módszerek.

8.2. CSG modellezés

Constructive Solid Geometry

Tegyük fel, hogy testeket modellezünk, és azokat implicit függvények alakjában ismerjük, méghozzá úgy, hogy a függvény megadja, hogy egy adott pont a testhez tartozik-e vagy nem.

  • Mivel a függvény értéke egy logikai érték, ezért azon értelmezhetjük a logikai műveleteket.

  • A testeket, mint ponthalmazokat tekintve a szokásos halmazműveleteket alkalmazhatjuk.

Ilyen jellegzetes műveletek az unió (\(\cup\)), a metszet (\(\cap\)) és a különbség (\(\setminus\)).

Több műveletet halmazműveletekből alkotott kifejezésként fogalmazhatunk meg. A kifejezéseket faként is reprezentálhatjuk, amely így mutatja a modell elkészítésének a folyamatát.

  • Ezt a fát nevezzük CSG fának.

  • Mivel kétváltozós műveletekre hagyatkozunk, ezért ez egy bináris fa lesz.

Ahhoz, hogy ilyen módon modellezni tudjunk, szükségünk van geometriai alapelemekre (primitívekre). Ezek jellemzően például a következők:

  • téglatest,

  • sokszög alapú hasáb,

  • gúla,

  • henger,

  • gömb,

  • kúp.

A modellezéshez geometriai transzformációkat is használhatunk.

  • A modellezési mód sugárkövető algoritmusokkal hatékonyan használható.

  • A megjelenítéshez általánosan háromszöghálóvá (mesh) kell konvertálni a létrejött modellt.

  • A megközelítés előnyös, hogy ha a modellezett objektumot megmunkálással szeretnénk elkészíteni.

8.3. Metaball modellezés

8.4. Volumetrikus modellezés

Raszteres felbontásra épülő modellezést síkbeli és térbeli objektumok modellezése kapcsán is egyaránt használhatunk.

Háromdimenziós esetben, hogy ha egy rácsfelbontáson belül a cellák bizonyos tulajdonságainak a megadásával modellezzük az objektumokat, azt általában volumetrikus modellezésnek vagy voxel grafikának szokták nevezni.

8.5. Modellező szoftverek

8.6. További feladatok

  • Készítsünk egy programot, amely egyszerű sugárkövetéses módszerrel képes CSG színterek renderelésére!

  • Próbáljunk meg közelítést adni felületekre metaball modellezés segítségével!