POV-Ray : Newsgroups : povray.advanced-users : Volume-preserving blob : Re: Volume-preserving blob Server Time
29 Jul 2024 06:20:41 EDT (-0400)
  Re: Volume-preserving blob  
From: Christopher James Huff
Date: 11 Oct 2002 12:10:00
Message: <chrishuff-B6C788.12060211102002@netplex.aussie.org>
In article <web.3da6d971ed80a515398d8dbb0@news.povray.org>,
 "Pyry" <fro### [at] suomi24fi> wrote:

> (Sorry for the bad engish if you find any; Please correct.)
> The POV-Ray blob object does not preserve it's volume when the components
> are moved around.
> Is it possible to make a blob-like volume-preserving function for the
> isosurface?
> How about simulating water drops with surface tension?
> btw. Is there other blob-alternatives? IMO blob object is smooth in the
> wrong way.(?)

I know what you mean. A blob is just an isosurface, it only cares about 
the value of a function at a point, not about the volume or surface 
area. This is a problem I've been thinking about for a long time.
One possibility would be a particle system with blob particles. Use 
enough particles with repulsion between particles that are too close, 
and you could get something that does a fairly good job of maintaining 
its volume. You end up with blobs of huge numbers of particles though, 
it is still "lumpy", and the volume isn't very constant for small groups 
of particles. Maybe you could adjust the radius of the components to 
compensate for volume changes, this might give a useable approximation.

Some kind of mesh "stretched over" the volume of particles would be 
better, and I've been trying to think of a good way to do this. I think 
it is a much better approach, it will give smoother results and having 
the actual "surface" data available would make things like water beading 
on and wetting an object more realistic, and would do a much better job 
of avoiding the liquid penetrating the surface of an object. (with 
blobs, you only have component data, you don't really know where the 
surface is)
Maybe particles aren't necessary, some kind of voxel field containing 
"pressure" and "direction" information might be enough. Maybe combine 
the two, computing particle forces on a coarse lattice instead of 
per-particle.
It could also do a much better job of drops separating and merging: blob 
components just stretch towards each other when they are close, and 
merge when they are close enough...nothing like the behavior of real 
liquid drops.
My basic idea would be a closed ball of "cloth" containing particles. 
The cloth-surface interacts with objects and transfers forces to the 
particles, and the particles hold the surface up and control its motion. 
This would do a fairly good job of simulating a single drop. Dividing 
into separate drops or merging separate drops into one could be a much 
harder problem...figuring out which triangles to subdivide, which 
"bonds" to break, and closing the holes in each sub-drop, or knitting 
the surfaces of two drops together...

It would be very slow to compute in POV script, as well as difficult to 
write with the limitations of the language, you would need an external 
program to generate a mesh.

-- 
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.