Metaballs - Metaballs

Image
1: Vliv 2 pozitivních metabalí na sebe.
2: Vliv negativní metaball na pozitivní metaball vytvořením odsazení na povrchu pozitivní metaball.

V počítačové grafiky , metaballs jsou organické vypadající n - rozměrné izoplochy , charakterizovány svou schopností sloučit dohromady, když je v těsné blízkosti k vytvoření jednotlivých, po sobě následujících předmětů. Tento „blobby“ vzhled z nich dělá univerzální nástroje, často používané k modelování organických objektů a také k vytváření základních sítí pro sochařství . Techniku vykreslování metaballů vynalezl Jim Blinn na začátku 80. let minulého století za účelem modelování interakcí atomů pro televizní seriál Cosmos Carla Sagana z roku 1980 . Hovorově je také v komunitě pohybu a UX designu hovorově označován jako „želé efekt“ , běžně se objevující v prvcích uživatelského rozhraní, jako jsou navigace a tlačítka. Chování metabalů odpovídá mitóze v buněčné biologii, kde chromozomy generují identické kopie sebe sama prostřednictvím buněčného dělení.

Definice

Každý metaball je definován jako funkce v n dimenzích (např. Pro tři dimenze ; trojrozměrné metaballs bývají nejběžnější, populární jsou také dvourozměrné implementace). Je také vybrána prahová hodnota pro definování objemového objemu. Pak,

představuje, zda je objem uzavřený povrchem definovaným metaballs naplněn nebo ne.

Implementace

Image
Interakce mezi dvěma různě barevnými 3D pozitivními metaballs, vytvořenými v Bryce .
Všimněte si toho, že dva menší metaballs se spojí a vytvoří jeden větší objekt.

Typickou funkcí zvolenou pro metaballs je zákon inverzního čtverce , to znamená, že příspěvek k prahové funkci klesá ve zvonu, jak se zvětšuje vzdálenost od středu metaballu.

Pro trojrozměrný případ , kde je střed metabal. Kvůli rozdělení je ale výpočetně nákladný . Z tohoto důvodu se obvykle používají přibližné polynomické funkce .

Při hledání efektivnější spádové funkce je požadováno několik kvalit:

  • Konečná podpora . Funkce s konečnou podporou jde na nulu v maximálním poloměru. Při vyhodnocování metaballového pole lze ignorovat všechny body přesahující jejich maximální poloměr od vzorkovacího bodu. Hledání nejbližších sousedů může zajistit, že budou muset být vyhodnoceny pouze sousední metaballs bez ohledu na celkový počet v poli.
  • Hladkost . Protože je rovinný povrch výsledkem sčítání polí dohromady, jeho hladkost závisí na hladkosti spádových křivek.

Nejjednodušší spádová křivka, která splňuje tato kritéria, je , kde r je vzdálenost k bodu. Tato formulace se vyhýbá nákladným odmocninám .

Složitější modely používají k dosažení hladkosti Gaussův potenciál omezený na konečný poloměr nebo směs polynomů. Model Soft Object od bratrů Wyvillů poskytuje vyšší stupeň plynulosti a stále se vyhýbá odmocninám.

Jednoduchou generalizací metabalů je použití spádové křivky na vzdálenost od čar nebo vzdálenost od povrchů.

Existuje několik způsobů, jak vykreslit metaballs na obrazovku. V případě trojrozměrných metabalí jsou dvěma nejběžnějšími paprskové vysílání hrubou silou a algoritmus pochodujících kostek .

2D metaballs byly v 90. letech velmi častým demo efektem . Efekt je k dispozici také jako modul XScreensaver .

Reference

Další čtení

externí odkazy