270 likes | 478 Views
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.
E N D
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 shapes • Scientific modelling (electron orbitals, some medical imaging) • Muscles and joints with skin • Rapid prototyping • CAD/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. RicciA 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)