Metaball

Da Wikipedia, l'enciclopedia libera.

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.[1] 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.

Due metaball, una rossa e una blu, interagiscono l'una con l'altra. Da notare l'effetto di attrazione che mano a mano le va a unire.

Aspetti teorici[modifica | modifica wikitesto]

Le tecniche assodate di modellazione geometrica, esistono per gestire molti componenti ingegneristici, fra cui "forme libere" come carrozzerie di automobile e telefoni. Più recentemente, c'è stato molto interesse nel modellare i fenomeni naturali come il fumo, le nuvole, le montagne e le coste dove le forme sono descritte stocasticamente , o come frattali. Nessuna di queste tecniche si presta alla descrizione dei cosiddetti soft object. Questa classe di oggetti include tessuti, cuscini, forme di vita, fango e acqua.[2]

Sono stati fatti esperimenti con un modello generale per i soft object, che rappresenta un oggetto, o una collezione di oggetti, come un campo scalare - che è una funzione matematica definita su un volume dello spazio. L'oggetto può essere considerato come occupante lo spazio oltre il quale la funzione ha un valore maggiore di una data soglia, in modo che la superficie dell'oggetto sia una isosuperficie della funzione di campo.[2]

La tecnica è descritta e usata da James Blinn per creare i modelli delle molecole, nel documento "A Generalization of Algebraic Surface Drawing" (Blinn, 1982):

Il problema che ha motivato questo documento è familiare a quello della visualizzazione di modelli molecolari in computer grafica. Questi (modelli molecolari) sono fatti spesso con modelli ball-and-stick o modelli space-filling sphere. In entrambi i casi, il modello consiste in una collezione di possibili intersezioni di due forme basilari: sfere e cilindri. Per disegnare un'immagine del modello, le sfere e i cilindri possono essere facilmente spezzati in poligoni e processati con algoritmi di rendering-poligonali convenzionali. Alternativamente, possono essere impiegati svariati algoritmi per superfici curve, e infatti, diversi algoritmi specifici sono stati formulati per gestire efficientemente queste due forme, per mostrare rapidamente strutture molecolari. Negli interessi sia della varietà artistica, sia dell'accuratezza scientifica, è stato intravisto un nuovo modello che si distacca da quelli ball-and-stick e space-filling.

Egli inoltre suggerisce altre applicazioni e descrive 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).[2]

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. 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. Sono stati proposti vari modelli, da un sistema puramente basato sui keyframe alla physical animation.[3]

La superficie implicita[modifica | modifica wikitesto]

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

La superficie del liquido, generata dalle metaball, è dunque definita dai punti che soddisfano la seguente equazione[3]:

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:[3]

Curiosità[modifica | modifica wikitesto]

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

Note[modifica | modifica wikitesto]

  1. ^ Francesco Siddi, Grafica 3D con Blender.
  2. ^ a b c Geoff Wyvill, Craig McPheeters, Brian Wyvill, Data structure for soft objects, 1986.
  3. ^ a b c Ruofeng Tong, Kazufumi Kaneda, Hideo Yamashita, A volume-preserving approach for modeling and animating water flows generated by metaballs (PDF).
  4. ^ R. A. Earnshaw, J. A. Vince, Computer Graphics - Developments in virtual environments.
  5. ^ XScreenSaver: Screenshots, su jwz.org. URL consultato il 26 maggio 2015.

Bibliografia[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]