Una metaball, in computer grafica, è un oggetto che non è definito da vertici o punti controllo (come le curve di Bézier o le NURBS), bensì da espressioni matematiche pure. In altre parole sono superfici implicite, che vengono calcolate e messe in relazione tra loro da operazioni logiche additive (AND) o sottrattive (OR). Gli oggetti meta esercitano dunque influenza gli uni sugli altri e se questa influenza è positiva, noteremo degli effetti di attrazione, mentre se è negativa noteremo effetti di repulsione. Nell'immagine sotto, una metaball rossa e una blu vengono avvicinate; l'effetto di attrazione le fa unire e ne risulta una singola metaball viola.

Aspetti teorici In modo da rompere con l'impiego convenzionale dei modelli ball-and-stick e space-filing per visualizzare le molecole, Jim Blinn introdusse il modello blobby in computer grafica. Questo modello rappresenta una superficie di un oggetto come una isosuperficie di un campo scalare globale, costruito a partire da campi scalari locali associati a primitive sussidiarie o costituenti. Nel 1982, scrisse in A Generalization of Algebraic Surface Drawing:

Il modello blobby rappresenta un oggetto tridimensionale in come una isosuperficie di un campo scalare generato dalla composizione di campi scalari locali, ognuno generato da una primitiva geometrica (per esempio un punto o una sfera). Questo significa che un valore di campo in un punto , generato da una primitiva o atomo centrato in un punto , è dato da

dove determina la forma del campo scalare. L'equazione è conosciuta come funzione gaussiana di Blinn. Infatti, il termine esponenziale non è altro che un bump gaussiano centrato in , che ha altezza , e deviazione standard . Se è il quadrato della distanza euclidea fra e , che è uguale a

allora il campo è sfericamente simmetrico.

La funzione di densità locale di una data molecola con atomi è ottenuta dalla somma del contributo di ogni atomo

o, in modo equivalente,

Ora, possiamo definire una superficie implicita come l'insieme nullo di punti dove eguaglia una data soglia

Sebbene il modello implicito di Blinn fosse stato principalmente progettato per rappresentare molecole, in letteratura sono state descritte e discusse molte altre applicazioni. Da quando fu proposto da Blinn e Nishimura, il metodo delle metaball è stato ampiamente usato nella modellazione di soft objects, come nuvole e liquidi, a causa della sua capacità di generare superfici lisce e geometria e topologia arbitrarie. Nel 1986, Geoff Wyvill, Craig McPheeters e Brian Wyvill, scrissero in Data structures for soft objects:

Il metodo è anche efficace nel modellare la deformazione e il movimento di liquidi. Quando le metaball si muovono, la superficie generata, le segue automaticamente. Così, la deformazione dei liquidi è di solito descritta con il movimento delle metaball. Jim Blinn inoltre, da parte sua, suggerì altre applicazioni e descrisse una tecnica di rendering diretto utilizzando un insieme elegante di elenchi ordinati. Una tecnica simile è stata utilizzata per alcuni anni nel progetto LINKS alla Università di Osaka (Nishimura, 1985). Ken Perlin ha impiegato una modifica del metodo di Blinn per rappresentare forme "stocastiche" (Perlin, 1985).

Sia modelli blobby, sia metaball, sia soft objects, fanno affidamento sulla stessa funzione implicita globale, ma le funzioni locali sussidiarie differiscono lievemente.

La superficie implicita Una superficie implicita è una superficie composta da quei punti , determinati dalle coordinate , , , che soddisfano la funzione arbitraria implicita .

La superficie del liquido, generata dalle metaball, è dunque definita dai punti che soddisfano la seguente equazione:dove è una soglia, è un fattore coefficiente (anche chiamato densità massima) della metaball , e è la funzione di densità della metaball .

Il volume dei liquidi può essere descritto come:

Curiosità Le metaball 2D sono state una demo ad effetto negli anni 90. L'effetto è anche disponibile per XScreensaver.

Note

Bibliografia J. Blinn, A Generalization of Algebraic Surface Drawing, 1982 S. Muraki, Volumetric shape description of range data using "Blobby Model", 1991 H. Nishimura, M. Hirai, and T. Kawai. Object modeling by distribution function and a method of image generation, 1985 G. Wyvill, C. McPheeters, B. Wyvill, Data structure for soft objects, 1986

Voci correlate Computer grafica 3D Modellazione 3D Atomo Isosuperficie Marching cubes

Collegamenti esterni Articolo sulle Superfici Implicite di Paul Bourke Articolo sugli oggetti Meta dal manuale utente di Blender Articolo sulle Metaballs dal sito della SIGGRAPH Exploring Metaballs and Isosurfaces in 2D da Stephen Whitmore

Categoria:Computer grafica