POV-Ray : Newsgroups : povray.advanced-users : Isosurface speed : Re: Isosurface speed Server Time
6 Oct 2024 13:18:31 EDT (-0400)
  Re: Isosurface speed  
From: Orchid XP v3
Date: 28 Aug 2006 10:29:00
Message: <44f2fdac@news.povray.org>
>> Anybody have any further thoughts?

> Nothing general, but if you (the user) know where the bits of surface
> are, you could try splitting up the isosurface into smaller chunks, and
> set the max_gradient lower where it doesn't need to be as high. I
> couldn't tell from your description whether this is the sort of
> isosurface that that would work for: it usually works well for functions
> with low gradients in most places but singularities at a few points.

Hmm... could work.

Attached is a graph of the function I'm trying to trace. (Note the 
LOGARITHMIC Y SCALE!) The red line is the function. The green line is 
the isosurface threshold. (i.e., the parts below that line are "inside", 
and the parts about it are "outside".)

You can see why POV-Ray is struggling; on a linear scale, the graph is 
two vertical lines with a flat part in the middle. So POV-Ray has to 
tip-toe through space at some ridiculous spacing to be absolutely 
certain that there isn't some vertical line in the graph taking us down 
to a surface. If it was a different function, there might be. But for 
this one, there isn't.

Currently POV-Ray has the maximum possible gradient. That is, the 1st 
derrivative of the function's value with respect to space. I wonder - 
would POV-Ray be able to do something more intelligent if it had the 
maximum SECOND derrivative too? Then perhaps it would know that the 
sides are very steep, but the steepness can't change very suddenly... 
Hmm, no, that's still not much help.


Post a reply to this message


Attachments:
Download 'graph1.png' (11 KB)

Preview of image 'graph1.png'
graph1.png


 

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