Metaballs
From Wikipedia, the free encyclopedia
Metaballs, in computer graphics terms, are organic-looking n-dimensional objects. The technique for rendering metaballs was invented by Jim Blinn in the early 1980s.
Each metaball is defined as a function in n-dimensions (ie. for three dimensions, f(x,y,z); three-dimensional metaballs tend to be most common). A thresholding value is also chosen, to define a solid volume. Then,
represents whether the volume enclosed by the surface defined by n metaballs is filled at (x,y,z) or not.
A typical function chosen for metaballs is f(x,y,z) = 1 / ((x − x0)2 + (y − y0)2 + (z − z0)2), where (x0,y0,z0) is the center of the metaball. However, due to the divide, it is computationally expensive. For this reason, approximate polynomial functions are typically used.[citation needed]
There are a number of ways to render the metaballs to the screen. The two most common are brute force raycasting and the marching cubes algorithm.
2D metaballs was a very common demo effect in the 1990s. The effect is also available as an XScreensaver module.
[edit] Further reading
- Blinn, James F. "A Generalization of Algebraic Surface Drawing." ACM Transactions on Graphics 1(3), July 1982, pp. 235–256.