Odstranění defektů polygonální sítě
Soubory 3D modelů
obsahují často redundantní data, která zbytečně navyšují datovou velikost
modelu a zvyšují výpočetní náročnost práce s modelem. Nejčastějšími typy
redundantních dat jsou vrcholy a polygony definované stejnými souřadnicemi (duplicated vertices, duplicated faces)
nebo polygony s nulovou plochou, které jsou definované třemi totožnými
vrcholy (tzv. degenerated faces).
Před další prací s modelem je také dobré odstranit vrchol a body, které
nedefinují facety a zbytečně navyšují velikost souboru.
Model by měl být
v ideálním případě tvořen jedinou polygonální sítí, která se dá rozložit
do souvislé plochy se všemi normálami směřujícími jedním směrem. Pokud to
neplatí a síť obsahuje defekty, označuje se termínem non-manifold –
takový objekt by v reálu nemohl existovat. Chyby v síti mohou bránit
použití některých editačních nástrojů a mohou také ovlivnit automatizované
analýzy sítě. Bezchybnost sítě je také zásadní pro 3D tisk. V tom případě musí
být síť navíc uzavřená, bez děr (pro takovou síť se používá termín anglický
termín watertight).
3D editační
programy obsahují automatizované a poloautomatizované nástroje pro opravu
základních nedostatků sítí. Zejména v případě rozsáhlejších chyb,
například děr nebo průniků povrchu modelu, je ale nutné porozumět chybě a model
editovat na úrovni základních prvků – tedy odstranit chybné prvky a síť nově,
manuálně napojit.
Blender
Nástroje pro
čištění sítě jsou
v nabídce (Edit mode) Mesh > Clean Up
>
… Delete Loose – odstranění „loose“ hran vrcholů a facet
… Merge by
Distance – nástroj pro spojení zdvojených prvků sítě. Dovoluje definovat
minimální vzdálenost, která může prvky dělit. Prvky, které jsou si bližší
nástroj spojí.
Další nástroje
pro čištění modelu jsou součástí add-onu Mesh: 3D print toolbar. Add-ony
jsou přídavné, úzce zaměřené skripty programu Blender, které se musejí před
použitím aktivovat anebo instalovat. Nechtěné add-ony je naopak možné zakázat.
Aktivace a deaktivace je možná v menu Edit > Preferences > Add-ons.
Add-on 3D
print je vhodný pro kontrolu modelu a výběr problematických prvků. Nástroj Make
Manifold ale není vhodný pro větší defekty, jako jsou například chyby
v síti. V těchto případech nefunguje dobře a vytváří například vzájemně
se pronikající polygony.
Užitečným
pomocníkem je modifier Remesh (modifikátory fungují na
celou síť a pracují v Object mode), který nahrazuje původní model
nově generovanou polygonální sítí, která sleduje tvar původního modelu, ale má
pravidelnou topologii a je bez chyb. Pozor, tato nově generovaná síť neudrží
vazbu na texturu!
Remesh nabízí čtyři základní módy, které se od
sebe liší především v míře, s jakou je výsledný model vyhlazený. Pro
biologické objekty jsou využitelné především módy Smooth a Voxel
– oba vytvářejí modely s pravidelnou topologií. U obou také uživatel může
nastavit rozlišení výsledné sítě a míru, do jaké tato síť tvarově kopíruje
původní model, tedy její detailnost.
V případě
módu Voxel je možné nastavit hodnotu Voxel Size čím nižší je, tím
detailnější je výsledný model, a Adaptivity, která snižuje rozlišení
tam, kde v modelu nejsou detaily. Při Adaptivity 0 je nový model
tvořen přibližně stejně velkými facetami. Při vyšších hodnotách se tato
uniformita ztrácí, ale zase se redukuje rozlišení všude tak, kde není potřeba.
V případě
módu Smooth jsou to volby Octree depth a Scale. Octree
depth nastavuje míru, s jakou nová síť sleduje tvar původní sítě.
Nastavená hodnota by měla odpovídat komplexitě modelu a potřebné míře
detailnosti. Problém nastává především v místech, kde je model příliš tenký
– tam mohou při nedostatečně vysokém nastavení Octree depth vznikat
chyby. Pro většinu biologických objektů, jako jsou například kosti, postačuje
hodnota 8–10. Hodnota Scale je pak přímo úměrná počtu prvků, které tvoří
model.
MeshLab
Nástroje pro odstranění redundantních dat a defektů sítě
jsou součástí nabídky Filters > Cleaning and Repairing.
V okně Layer Dialog
aktivujeme model, který chceme editovat (LMB)
Následně aplikujeme nástroje z nabídky Filters
> Cleaning and Repairing…
…> Remove
Duplicated Vertex – odstraní zdvojené vrcholy
…> Remove Duplicate
Faces – odstraní zdvojené polygony
…> Remove Zero Area
Faces – odstraní nulové polygony
…> Remove Unreferenced
vertex – odstraní vrcholy, které nejsou součástí žádného polygonu
(samostatné body)
… > Select Self
Intersecting Faces – označí sebeprotínající se vrcholy
… > Select non
Manifold Edges
… > Select non
Manifold Vertices – označí vrcholy, které nejsou součástí facety
GOM Inspect – odstranění redundantních dat
Program GOM Inspect obsahuje nástroj Eliminate Mesh Errors, který odstraňuje redundantní data společně
s defekty polygonální sítě.
Označíme celý model – stiskem RMB v pracovním okně >
Select all
Spustíme nástroj čištění modelu – Operations > Mesh >
Eliminate Mesh Errors
Po vyčištění modelu program zobrazí informace o počtu
opravených chyb různého typu.