240 likes | 255 Views
Discover the technique of Blobby Modelling and its applications in creating organic forms, scientific models, muscles, rapid prototyping, and more. Learn how it works, different force functions, and the use of Octrees in approximation.
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)