POV-Ray : Newsgroups : povray.general : Isosurface takes FOREVER, what can I do : Re: Isosurface takes FOREVER, what can I do Server Time
31 Jul 2024 16:26:25 EDT (-0400)
  Re: Isosurface takes FOREVER, what can I do  
From: Slime
Date: 16 Dec 2006 05:15:41
Message: <4583c74d@news.povray.org>
The function you're using has the bad property that its value gets bigger
really fast towards the edge of the contained_by box, but stays close to
zero almost everywhere else (This is because it uses so many pow() calls).
The quick rise in values near the edge necessitates a large max_gradient,
but since the value is so close to zero in most of the area around the
surface, POV-Ray thinks it's near the surface and takes only tiny steps
forward, reevaluating the function each time.

In other words, you're getting the problem you would get if you used a
max_gradient way higher than you needed, but you can't just lower the
max_gradient because there are small parts of the function that actually
*have* that gradient.

The solution is usually to change the function so that it increases at a
steady pace as you move away from the surface (instead of first slow and
then fast). I see that may not be an option for you as the function is
fairly complicated.

It may help to change your contained_by shape to be a sphere, and pack it as
tightly as you possibly can around the heart. This will cut out some of the
parts that have a high gradient and allow you to lower max_gradient.

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


Post a reply to this message

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