Doc Dingle's Website
Brent M. Dingle, Ph.D.

Volumetric Particles (Volpars)

3 images of a pawn, wireframe, surfel, volpar

Research Hypothesis: A modeling framework based strictly on a particle representation of objects and forces is feasible and robust.

Motivation: In 2002, a set of challenges was identified in the Journal of ACM Computing Surveys' (CSUR) paper: Algorithmic issues in modeling simulation, Volume 34 Issue 4, December 2002. There were four major thematic challenges that caught my interest:

  • Combining state representations to solve interactions between objects in different phases (solid, liquid, gas).
  • Automatic selection of an appropriate motion model and algorithm for a given situation.
  • Simulation algorithms to be scalable in parallel environments.
  • More control of the simulation to the user while maintaining physical plausibility.
A Volumetric Particle (VolPar) Framework addresses all four of these challenges with varying degrees of success.

The below topics are arranged in a developmental/educational order.
This puts the more 'wow-ing' stuff towards the bottom of the page.

Voxels versus Volpars

Animated Stanford bunny as wireframe, voxel, volpar, packed volpar

Solid objects represented with volpars are similar to voxels, but remove the 'grid' via packing (or filling). The process to create a volpar may be simplified to:

  • Voxelize a surface mesh using cubes
  • Convert each cube into a sphere (volpar)
  • Pack more volpars into the mesh until 'no more can fit'
  • Define connective forces and relations among volpars

Note volpars also allow non-solids to be represented. Plus they allow some even 'more fun' things to be done. But there are clear ties between the two. Also note that while I used spheres as volpars other shapes might work too.



Surfels for Surfaces

Surfels being applied to Volpar object

The ease in identifying surface particles leads to the natural selection and use of surfels as the surface display representation for Volpar objects. This allows for a simple and consistent data structure by adding a small overhead of maintaining the surface normals for surface particles. This was tested and functional in 'realtime' (12 FPS or better) - circa 2005 (Pentium processor, no GPU speedups). However, there are other options.



Vortex Force Particles

Smoke particles blowing in straight line Smoke particles swirling in response to vortex particles

The first image is particle smoke under only the influence of a linear wind force. Smoke generally is never that clean.

In the second image, the smoke is again represented as particles, but within it are invisible Vortex Force Particles which cause the swirling motion seen in the animation.



Wind Force Particles

Fan blowing confetti particles via wind particles

The confetti is represented as particles, The 'square' fan when 'red' emits invisible Wind Force Particles which move the particles to the right.

The wind particles are not allowed to go through the wall. This results in the up-draft swirl that is visibly blowing the particles farther upward along the wall, and causing minor swirling near the bottom.



Heat Particles - Early Demo

Heat particles cause coals to ignite

Force particles can also model the convection of heat.

Here they trigger flammable, floating balls to catch on fire. The progression of color from grey to orange reflects the amount of heat they have 'absorbed' (i.e. their temperature). And yes, the fires are also particle and vortex force particle driven.

More advanced application of this is found in the melting ice demo.



Force Particles for Things that Are Not

Air bubble in glass of water forms and rises

Here the glass begins filled with only water particles. The idea is that a heat source is somehow applied to the glass's bottom (not illustrated). Thus 'freeing' air particles, or in this case force particles, which form into a bubble.

The image shown was rendered using POV-ray blobs for water particles.



Keyframing Blended with Physical Forces

Image transformed into particles moves via keyframing and world forces

Keyframing offers explicit control while maintaining physical influence of forces. This is achieved by blending of keyframing desires with physical forces. Keyframing is used to guide the state of each particle.



Artistic Keyframing Blended with Physical Forces

Cowboy forms from solid particles while letters T.P.C.G. form out of smoke

This is another example demonstrating the use of keyframing with solid and gas-like particles So again, keyframing offers explicit control while maintaining physical influence of forces. This is achieved by blending of keyframing desires with physical forces. Keyframing is used to guide the state of each particle. Note this is operating in 3D space.

This example was also shown at the Theory and Practice of Computer Graphics (TPCG) in 2005.



Fan and Smoke in 3D

3D smoke blown by a fan using force particles

Here we see the force particles generated by the fan blowing the rising smoke and vortex force particles. Note, force particles can influence other force particles.



Dirt + Water = Mud

Water particles pour onto dirt particles. They mix and bcome mud.

This is a quick demonstration that particles may interact with each other. In this case the dirt particles absorb the water particles and become mud.



Mud Dries and Cracks

ImageTextDescription

The mud particles slowly lose their water amounts (evaporative effect). Eventually the mud dries and cracks.



Solid Objects - Proof of Concept

ImageTextDescription ImageTextDescription ImageTextDescription

These are various demonstrations that solid objects could be modeled in a physically based environment. Further that the surfel splatting would and could function in a 'realtime' environment.



Fracturing Objects

Four prong fracture scoring pattern applied to wall volpar object

Glass fracture pattern applied to wall volpar object

3 fracture patterns applied to brick wall volpar object

Glass fracture pattern applied to wall volpar object

Fracturing can be slow and using spring or spring-like connections is known to be bad.

Using volpars it is possible to apply a 'surface scoring' method to achieve reasonably plausible results. The examples show a four-prong based method (the fracture splits in 4 directions) and a glass-based fracture (radial outward). This technique was applied to 3D objects and it easily adapts to be usable with any fracture pattern.

The fracture patterns can be generated in a variety of ways (diffusion limited aggregation (DLA), random walks, fractals, or user drawn). The patterns might also be acquired from edge detection on real world images of similar material types.

Notice the volpar objects auto-form into fractured pieces. This is because the volpars are 'aware' of what they are and are not connected to. The coloring in the second image was automatically achieved when the object was fractured. This coloring effect can also be seen in the top animation.

This method also adapts based on the connective properties of the volpar object. So things like mortar in a wall can be 'weaker' than than the solid brick.

In sum it has Art + Real World options!

This method was tested on different types, sizes, and shapes of objects.



Heat Particles Make Ice Melt

Ice particles melt into water particles due to heat particles warming them (i.e. an ice cube melts)

This demonstrates a variety of effects. The obvious is the use of heat particles to convey heat across a non-represented medium (i.e. there are no explicit air particles). Note this is following the physical properties of the real world (air, ice, water). While not necessarily obvious Newton's Law of Cooling (dT/dt = -k(T - Ta), with k a positive constant, T the heat particles temperature, and Ta is the temp of the object encountered by the heat particle) is being applied. So the ice is melting based on heat transfer and temperature.

This also shows solid particles transforming into liquid particles. Thus preserving mass and volumetric appearance.

This example further shows how the volpars can act as a 'backend' environment for fast testing before sending to a more advanced rendering system (such as POV-ray).



Summary and Future Work

ImageTextDescription

Volpars are cool!