|
![](/i/fill.gif) |
In article <3DA95BDB.D10F9F8D@dcs.gla.ac.uk>,
John Williamson <wil### [at] dcs gla ac uk> wrote:
> The partial derivatives of these surfaces are easy (or at least not
> impossible, I haven't actually tried working them out!), so it's
> probably possible to get away without having a max_gradient because we
> already know it. I assume knowing the derivatives could speed up the
> isosurface rendering...
That only applies to a single component. When you have multiple
components with different radii and strengths, the gradient doesn't have
a limit.
Hmm...the function using exp() is unbounded, isn't it? In addition to
the root solving possibly being slower from the use of exp(), each
component would affect every other component in the blob. With a bounded
function, one that is only used in a certain distance, you only need to
compute for the components that affect a ray, which could speed things
up.
Ken Perlin recently updated his perlin noise algorithm with a new
polynomial S-curve function that eliminated second-derivative
discontinuities, maybe that could be of some use as a bounded function...
An isosurface algorithm might have some advantages over the current
solver...it would be easier to add more component types, like plane,
torus, sphere sweep, etc. It might also be faster. It wouldn't be
redundant, though you could do the same shape in an isosurface, a blob
is more specialized and could have some optimizations done.
> Mind you, just testing Gaussian blob iso's with the above function just
> now, it seems that they can be quite difficult to control. Still, they
> seem smooth.
I haven't had a chance to do any experiments, what makes them more
difficult?
--
Christopher James Huff <cja### [at] earthlink net>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tag povray org
http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |