POV-Ray : Newsgroups : povray.advanced-users : Volume-preserving blob Server Time
1 Nov 2024 13:20:34 EDT (-0400)
  Volume-preserving blob (Message 1 to 10 of 32)  
Goto Latest 10 Messages Next 10 Messages >>>
From: Pyry
Subject: Volume-preserving blob
Date: 11 Oct 2002 10:05:03
Message: <web.3da6d971ed80a515398d8dbb0@news.povray.org>
(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.(?)


Post a reply to this message

From: ABX
Subject: Re: Volume-preserving blob
Date: 11 Oct 2002 10:11:32
Message: <eomdqu4261g1pvajk2a8arg1ftijtbfun9@4ax.com>
On Fri, 11 Oct 2002 10:00:20 EDT, "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?

There is something made by Rune IIRC, check
http://runevision.com/3d/blobs/blobs.asp

> btw. Is there other blob-alternatives?

http://www-public.tu-bs.de:8080/~y0013390/pov/ic/

> IMO blob object is smooth in the
> wrong way.(?)

you mean they are not smooth ???

ABX


Post a reply to this message

From: Christoph Hormann
Subject: Re: Volume-preserving blob
Date: 11 Oct 2002 10:25:21
Message: <3DA6DF50.C060DEA@gmx.de>
ABX wrote:
> 
> > btw. Is there other blob-alternatives?
> 
> http://www-public.tu-bs.de:8080/~y0013390/pov/ic/
> 

The IsoCSG blob is exactly like the native POV-Ray blob.  There is a
different possibility though described in the POV-Ray docs, section
6.5.4.4.4:

http://www.povray.org/documentation/view/169/#s06_05_04_04_04

Christoph

-- 
POV-Ray tutorials, IsoWood include,                 
TransSkin and more: http://www.tu-bs.de/~y0013390/  
Last updated 13 Aug. 2002 _____./\/^>_*_<^\/\.______


Post a reply to this message

From: ABX
Subject: Re: Volume-preserving blob
Date: 11 Oct 2002 10:35:22
Message: <18odqu072imrgkd452ut43u1aibt9k8fl1@4ax.com>
On Fri, 11 Oct 2002 16:25:20 +0200, Christoph Hormann <chr### [at] gmxde>
wrote:
> The IsoCSG blob is exactly like the native POV-Ray blob

except it holds other shapes

ABX


Post a reply to this message

From: Christopher James Huff
Subject: Re: Volume-preserving blob
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

From: Peter Popov
Subject: Re: Volume-preserving blob
Date: 11 Oct 2002 12:56:10
Message: <11rdqug29h7273cvugl7nln8n3nlbgf9qd@4ax.com>
On Fri, 11 Oct 2002 10:00:20 EDT, "Pyry" <fro### [at] suomi24fi> wrote:

>The POV-Ray blob object does not preserve it's volume when the components
>are moved around.

You are right, they do not.

>Is it possible to make a blob-like volume-preserving function for the
>isosurface?

It probably is, but take my word it won't be easy.

>How about simulating water drops with surface tension?
>btw. Is there other blob-alternatives?

These two questions probably have the same answer. You can use a mesh
to make your blob-like object, and using a mesh, you can make a
physical simulation with surface tension, volume preservation and
whatever else you can think of. Take my word on this as well, it's
even harder :)

>IMO blob object is smooth in the wrong way.(?)

What's the correct way to smooth a blob?


Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vipbg
TAG      e-mail : pet### [at] tagpovrayorg


Post a reply to this message

From: Pyry
Subject: Re: Volume-preserving blob
Date: 11 Oct 2002 15:45:16
Message: <web.3da72a3b4cdcaf4d398d8dbb0@news.povray.org>
Peter Popov wrote:
>What's the correct way to smooth a blob?

I don't know what is the *correct* or the perfect way to smooth a blob, but
I just don't like the way the components react to each other sometimes.
Sometimes there is a visible edge between two spheres that isn't as smooth
as the rest of the blob and usually the appearance of the blob is too
smooth.

Of course one can overcome these anoying things by adding more and more
components...

Oh well the blob object is not made to be the ultimate make-everything from
ten spheres thingie. %) I just need to do what I gotta do whit other
objects. Right now I'm expirimenting on spheres in isosurfaces;Gives very
smooth results but takes time to render.

-And thank you all for the aswers so far!


Post a reply to this message

From: Slime
Subject: Re: Volume-preserving blob
Date: 11 Oct 2002 16:28:46
Message: <3da7347e$1@news.povray.org>
> I don't know what is the *correct* or the perfect way to smooth a blob,
but
> I just don't like the way the components react to each other sometimes.
> Sometimes there is a visible edge between two spheres that isn't as smooth
> as the rest of the blob and usually the appearance of the blob is too
> smooth.


This is due to the exact same mathematical property that causes a similar
"grid" artifact in the noise function: first derivatives match up, second
ones don't. It's not an easy problem to solve.

 - Slime
[ http://www.slimeland.com/ ]


Post a reply to this message

From: John Williamson
Subject: Re: Volume-preserving blob
Date: 12 Oct 2002 17:28:20
Message: <3DA894B0.9FCA901F@dcs.gla.ac.uk>
Hi,

> 
> This is due to the exact same mathematical property that causes a similar
> "grid" artifact in the noise function: first derivatives match up, second
> ones don't. It's not an easy problem to solve.

Hmm, I'm not sure, but is this not because the blob density function is
quadratic? If the blob function was exponential (e.g a mixture of
Gaussian components), wouldn't the second derivative be continuous? e.g
isosurface with a function like

f_gauss = function(x,y,z) { 1.0 - exp(-(x*x + y*y + z*z)/2.0) }

then use a sum of f_gauss at different centers...

But I could be totally wrong about this...

--John


Post a reply to this message

From: Rune
Subject: Re: Volume-preserving blob
Date: 12 Oct 2002 18:01:14
Message: <3da89baa@news.povray.org>
John Williamson wrote:
> Hmm, I'm not sure, but is this not because the
> blob density function is quadratic? If the blob
> function was exponential (e.g a mixture of
> Gaussian components), wouldn't the second
> derivative be continuous?

I don't know exponential functions very well, but I agree that it
shouldn't be that difficult to get smooth blobs, and that it would only
require the individual blob components to use functions whose second
derivatives match up.

Correct me if I'm wrong...

Rune
--
3D images and anims, include files, tutorials and more:
rune|vision:  http://runevision.com (updated Sep 8)
POV-Ray Ring: http://webring.povray.co.uk


Post a reply to this message

Goto Latest 10 Messages Next 10 Messages >>>

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