Metaballs: Difference between revisions
m Reverting possible vandalism by Amberinie123 to version by 131.220.36.241. False positive? report it. Thanks, User:ClueBot. (276145) (Bot) |
Amberinie123 (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
[[Image:Metaballs.gif|thumb|Two metaballs]] |
[[Image:Metaballs.gif|thumb|Two metaballs]] |
||
'''Metaballs''', sometimes referred to as "blobbies", are, in [[computer graphics]] terms, organic-looking n-dimensional objects. The technique for [[rendering (computer graphics)|rendering]] metaballs was invented by [[Jim Blinn]] in the early 1980s. |
'''Metaballs''', sometimes referred to as "blobbies", are, in [[computer graphics]] terms, organic-looking n-dimensional objects. The technique for [[rendering (computer graphics)|rendering]] metaballs was invented by [[Jim Blinn]] in the early 1980s. |
||
<small>MEATBALLLS!!!!!!!!!!</small><small><small>Small Text</small><sup><sup>Superscript text</sup><sup><sup>Superscript text</sup></sup></sup></small> |
|||
Each metaball is defined as a [[function (mathematics)|function]] in n-dimensions (ie. for three dimensions, <math>f(x,y,z)</math>; three-dimensional metaballs tend to be most common). A [[threshold]]ing value is also chosen, to define a solid volume. Then, |
Each metaball is defined as a [[function (mathematics)|function]] in n-dimensions (ie. for three dimensions, <math>f(x,y,z)</math>; three-dimensional metaballs tend to be most common). A [[threshold]]ing value is also chosen, to define a solid volume. Then, |
Revision as of 20:03, 14 March 2008
Metaballs, sometimes referred to as "blobbies", are, in computer graphics terms, organic-looking n-dimensional objects. The technique for rendering metaballs was invented by Jim Blinn in the early 1980s.
MEATBALLLS!!!!!!!!!!Small TextSuperscript textSuperscript text
Each metaball is defined as a function in n-dimensions (ie. for three dimensions, ; 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 metaballs is filled at or not.
A typical function chosen for metaballs is , where 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]
When seeking a more efficient falloff function, several qualities are desired:
- Finite Support. A function with finite support goes to zero at a maximum radius. When evaluating the metaball field, any points beyond their maximum radius from the sample point can be ignored. A hierarchical culling system can thus ensure only the closest metaballs will need to be evaluated regardless of the total number in the field.
- Smooth. Because the isosurface is the result of adding the fields together, its smoothness is dependent on the smoothness of the falloff curves.
The simplest falloff curve that satisfies these criterion is: , where r is the distance to the point. This formulation avoids expensive square root calls.
More complicated models use a Gaussian truncated to a finite radius or a mixture of polynomials to achieve smoothness. The Soft Object model by the Wyvill brothers provides higher degree of smoothness and still avoids square roots.
A simple generalization of metaballs is to apply the falloff curve to distance-from-lines or distance-from-surfaces.
There are a number of ways to render the metaballs to the screen. In the case of three dimensional metaballs, 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.
Further reading
- Blinn, James F. "A Generalization of Algebraic Surface Drawing." ACM Transactions on Graphics 1(3), July 1982, pp. 235–256.