front docs |
3D Blobs - Duffer's GuideYou can find information about 2-dimensional blobs elsewhere in this site, but what really interests me is 3D blobs.3D blobs are defined just the same as the 2D versions, except that the function for density at a given point in 3D space of (x,y,z) is:- !------------------------------------------------------------
LET distance = sqr (
x*x + y*y + z*z) !Calc distance from centre
(Note the use of ^2 instead of ^4 in the final assignment statement).
n
(sorry about the funny layout) We cannot directly convert the equations to polygons for use in rendering a 3D object. It is known as an Implicit Surface. However, what we can do is sample the density function at various points and form an approximation to the model. In principle there is no reason why we cannot put any function we want into the polygoniser but blobs are the usual one. This is known as implicit surface polygonisation. Implicit Surface PolygonisationThe approach examined here is the Marching Cubes algorithm, not because it is necessarily the fastest but because it is reliable and not too hard to code (hopefully!), and produces reasonable results - good enough for a graphics demo anyway. Most PC demos use this approach. The algorithm was reported independently by Wyvill and Wyvill, and Lorenson and Cline. |