Blobby Modelling Alex Benton. What is it? z“Metaball, or ‘Blobby’, Modelling is a technique...

Post on 14-Jan-2016

214 views 0 download

Transcript of Blobby Modelling Alex Benton. What is it? z“Metaball, or ‘Blobby’, Modelling is a technique...

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)