Blobby Modelling
description
Transcript of Blobby Modelling
Blobby Modelling
Alex Benton
What is it?
“Metaball, or ‘Blobby’, Modelling is a technique which uses implicit surfaces to produce models which seem more ‘organic’ or ‘blobby’ than conventional models built from flat planes and rigid angles”. --me
Examples--
Paul Bourke (1997)
Examples--
“New Train” - Wyvill
Examples--
“Cabrit Model” - Wyvill
Uses of Blobby Modelling
Organic forms and nonlinear shapesScientific modelling (electron
orbitals, some medical imaging)Muscles and joints with skinRapid prototypingCAD/CAM solid geometry
How does it work?
Each point in space generates a field of force, which drops off as a function of distance from the point.
A blobby model is formed from the shells of these force fields, the implicit surface which they define in space.
How does it work? (Bourke 1997)
Several force functions work well. Examples: “Blobby Molecules” - Jim Blinn
F(r) = a e-br2
Here ‘b’ is related to the standard deviation of the curve, and ‘a’ to the height.
How does it work? (Bourke 1997)
Several force functions work well. Examples: “Metaballs” - Blinn again (I think)
F(r) = { a(1- 3r2 / b2) 0 <= r < b/3{ (3a/2)(1-r/b)2 b/3 <= r
< b{ 0 b <= r
Here ‘a’ is a scaling factor and ‘b’ bounds the radius of effect.
How does it work? (Bourke 1997)
Several force functions work well. Examples: “Soft Objects” - Wyvill & Wyvill
F(r) = a(1 - 4r6/9b6 + 17r4/9b4 - 22r2 / 9b2)This function is basically the first few terms in
the series expansion of an exponential function.
‘a’ scales the function, and ‘b’ determines radius of influence.
Advantage : rapid computation.
How does it work? (Bourke 1997)
Force functions comparison:
How does it REALLY work?
Once you have your force function, the next task is to actually find the implicit surface.
You already know one technique for this : Marching Cubes.
However, marching cubes is very accurate and detailed; working at lower levels of precision is difficult.
How does it REALLY work?
Introducing : OCTREES.An Octree is a recursive subdivision of
space which “homes in” on the surface, from larger to finer detail, and then uses similar techniques to Marching Cubes approximate the implicit surface with polygons.
Octrees can display initial approximations of the surface immediately.
How does it REALLY work?
Because the octree is a cube in space, you evaluate the force function F(r) at each vertex of the cube.
This allows you to polygonalize the cube, in the same manner as Marching Cubes.
To refine the polygonalization, you subdivide the cube into eight subcubes, discarding any child whose vertices are all hot or all cold.
How does it REALLY work?
Recursive subdivision:
How does it REALLY work?
Recursive subdivision:
How does it REALLY work?
Recursive subdivision:
How does it REALLY work?
Find the edges, separating hot from cold:
How does it REALLY work?
For each Octree with hot and cold corners, you can find the best-fitting polygons that approximate that surface. The edges of the polygons pass through points linearly interpolated along the edges of the cube. T = (0.5 - F(P1)) / (F(P2) - F(P1)) P = P1 + T * (P2 - P1)
Pros and Cons
Benefits: Very rapid general shapes Allows rapid manipulation at multiple
levels of detail Surface complexity is not a function of
data complexity Enables a “poor man’s” solid geometry
Pros and Cons
Downsides: Flat surfaces, sharp angles, etc. are
difficult Difficult to precisely achieve targetted
features “popping” between levels can be
misleading
What else?
Complex primitives! Why settle for a point when you could
have a line? Or a spline?Colors and textures
The same math that blends forces can blend textures and colors as well.
Many other avenues of research currently open...
YAMM (Yet Another Metaball Modeller)
YAMM is my hobby and research work.
It’s not polished software. It’s home made.
Available from J:\Staff Folders\Alex Benton\YAMM
Sources for more info...
http://astronomy.swin.edu.au/~pbourke/modelling/implicitsurf/ http://pages.cpsc.ucalgary.ca/~blob/ http://www.cs.wisc.edu/~schenney/courses/cs638-f2001/lectures/cs638-11.ppt -
Octrees D. Ricci
A Constructive Geometry for Computer GraphicsComputer Journal, May 1973
Jules BloomenthalPolygonization of Implicit SurfacesComputer Aided Geometric Design, Issue 5, 1988
Brian Wyvill, Craig McPheeters, Geoff WyvillAnimating Soft ObjectsThe Visual Computer, Issue 4 1986
Brian Wyvill, Craig McPheeters, Geoff WyvillSoft ObjectsAdvanced Computer Graphics (Proc. CG Tokyo 1986)