CSG modelování pro polygonální objekty
CSG modeling for polygonal objects
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/49559Identifikátory
SIS: 96044
Katalog UK: 990014283710106986
Kolekce
- Kvalifikační práce [11979]
Autor
Vedoucí práce
Oponent práce
Beneš, Jan
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra softwaru a výuky informatiky
Datum obhajoby
30. 1. 2012
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Výborně
Klíčová slova (česky)
počítačová grafika, 3D, konstruktivní geometrie těles, CSG, efektivní a robustní booleovské operaceKlíčová slova (anglicky)
computer graphics, 3D, constructive solid geometry, CSG, efficient and robust Boolean operationsTato práce se zabývá efektivní a robustní technikou provádění booleovských operací nad polygonálními modely. Plné robustnosti je dosaženo ve vnitřní reprezentaci založené na rovinách a BSP stromech (binary space partitioning trees), v které lze operace provádět přesně v pouhé aritmetice s pevnou přesností. Potřebné konverze z obvyklé reprezentace do vnitřní a zpět včetně jejich důsledků jsou podrobně analyzovány. Výkon metody je optimalizován lokalizačním schématem v podobě adaptivního oktantového stromu. Vzniklá implementace RazeCSG je experimentálně srovnána s implementacemi používanými v praxi Carve a Maya, které nejsou plně robustní. U velkých modelů vykazuje RazeCSG v nejhorším případě jen dvakrát nižší výkon než Carve a je nejméně 130krát rychlejší než Maya.
This work deals with an efficient and robust technique of performing Boolean operations on polygonal models. Full robustness is achieved within an internal representation based on planes and BSP (binary space partitioning) trees, in which operations can be carried out exactly in mere fixed precision arithmetic. Necessary conversions from the usual representation to the inner one and back, including their consequences are analyzed in detail. The performance of the method is optimized by a localization scheme in the form of an adaptive octree. The resulting implementation RazeCSG is experimentally compared with implementations used in practice Carve and Maya, which are not fully robust. For large models, RazeCSG shows only twice lower performance in the worst case than Carve, and is at least 130 times faster than Maya.
