Metaball ( Metasfera rusa , también conocido como "metaball") es un objeto n-dimensional en gráficos por computadora , que es una superficie lisa cerrada. La técnica de representación de metásferas fue inventada por Jim Blinn a principios de la década de 1980 .
El uso de polígonos en gráficos por computadora a menudo da como resultado modelos sin suavizar, y el grado de suavidad depende en gran medida de la escala. Se utilizan varios métodos para obtener superficies lisas, como B-splines y superficies Bezier . Cuando se usan metásferas, se da a entender que se establece un conjunto de puntos de control o partículas con un potencial en el espacio, y se establecen funciones de dependencia del potencial con la distancia. Al calcular el potencial de campo, es posible construir isosuperficies suavizadas de una forma bastante compleja.
Cada punto de control define su propia función de potencial n-dimensional (normalmente n=3). Luego se selecciona un cierto valor (potencial), que determina la forma de la metásfera (de hecho, se determina la superficie equipotencial ). Así, la desigualdad determina si el punto está dentro de la superficie dada por los puntos de control o no.
A menudo, donde está el centro de la metásfera, se usa como una función que define la metásfera. Sin embargo, el uso de la división hace que esta función sea ineficiente en términos de velocidad, por lo que generalmente se reemplaza con funciones polinómicas de aproximación.
Cuando se busca una función potencial más eficiente, es deseable que satisfaga los siguientes requisitos:
La función potencial más simple que satisface estos criterios es , donde es la distancia entre el punto de control y el punto dado en el espacio. También es bastante eficiente ya que no utiliza división ni extracción de raíz.
Los modelos más sofisticados utilizan un potencial gaussiano limitado por un radio finito de un conjunto de polinomios para un mejor suavizado. El modelo de objetos blandos de los hermanos Wyvill proporciona un mayor grado de suavidad y no utiliza raíces cuadradas.
Se puede obtener una generalización simple del modelo reemplazando la distancia entre puntos en función del potencial por la distancia a una línea recta o la distancia a una superficie.
Hay muchas formas de renderizar metásferas. Para metásferas 3D, los algoritmos de raycasting y cubos en marcha son los más utilizados .
Las metásferas 2D fueron muy populares en las demostraciones en la década de 1990. Este efecto también está disponible en el módulo XScreensaver .