Metaball ( metasfera rusă , găsită și „metaball”) este un obiect n-dimensional în grafica computerizată , care este o suprafață netedă închisă. Tehnica de redare a metasferei a fost inventată de Jim Blinn la începutul anilor 1980 .
Utilizarea poligoanelor în grafica computerizată duce adesea la modele nenetezite, gradul de netezime depinde în mare măsură de scară. Sunt utilizate diferite metode pentru a obține suprafețe netede, cum ar fi B-splines și suprafețe Bezier . Când se utilizează metasferele, se presupune că un set de puncte de control sau particule cu un potențial este stabilit în spațiu și sunt stabilite funcții de dependență a potențialului de distanță. Prin calcularea potențialului câmpului, este posibil să se construiască izosuprafețe netezite de o formă destul de complexă.
Fiecare punct de control își definește propria funcție potențială n-dimensională (de obicei n=3). Apoi se selectează o anumită valoare (potenţial), care determină forma metasferei (de fapt, se determină suprafaţa echipotenţială ). Astfel, inegalitatea determină dacă punctul se află în interiorul suprafeței date de punctele de control sau nu.
Adesea, , unde este centrul metasferei, este folosită ca o funcție de definire a metasferei. Cu toate acestea, utilizarea diviziunii face ca această funcție să fie ineficientă din punct de vedere al vitezei, așa că este de obicei înlocuită cu funcții polinomiale de aproximare.
Când se caută o funcție potențială mai eficientă, este de dorit ca aceasta să îndeplinească următoarele cerințe:
Cea mai simplă funcție potențială care îndeplinește aceste criterii este , unde este distanța dintre punctul de control și punctul dat din spațiu. De asemenea, este destul de eficient, deoarece nu folosește diviziunea și extracția rădăcinilor.
Modelele mai sofisticate folosesc un potențial gaussian mărginit de o rază finită a unui set de polinoame pentru o netezire mai bună. Modelul de obiecte moi al fraților Wyvill oferă un grad mai mare de netezime și nu folosește rădăcini pătrate.
O simplă generalizare a modelului poate fi obținută prin înlocuirea distanței dintre puncte în funcție de potențial cu distanța până la o linie dreaptă sau distanța până la o suprafață.
Există multe moduri de a reda metasferele. Pentru metasferele 3D, radicasting -ul și algoritmul cuburilor de marș sunt cel mai frecvent utilizate .
Metasferele 2D au fost foarte populare în demonstrațiile din anii 1990. Acest efect este disponibil și în modulul XScreensaver .