POV-Ray : Newsgroups : povray.general : isosurface and 0 Server Time
6 Nov 2024 16:32:40 EST (-0500)
  isosurface and 0 (Message 1 to 3 of 3)  
From: Rafal 'Raf256' Maj
Subject: isosurface and 0
Date: 5 Aug 2002 21:45:03
Message: <Xns9262258B5BC24raf256com@204.213.191.226>
Hi, It seems that if function values get very close to 0 - rendering slows 
down terrible, ie :

function {    
  -min(0.0   ,(
     5-sqrt( pow(x-10,2)+pow(y+10,2)+pow(z+10,2) )
  ))

renders about x5 slower then witout this "min" (it is not needed here, but 
I will need it when functino become more complcated)

and :

function {    
  -min(0.0001,(
     5-sqrt( pow(x-10,2)+pow(y+10,2)+pow(z+10,2) )
  ))

products artefacts, even if max_gradient is o.k.

how can I solve it ?

-- 
#macro g(U,V)(.4*abs(sin(9*sqrt(pow(x-U,2)+pow(y-V,2))))*pow(1-min(1,(sqrt(
pow(x-U,2)+pow(y-V,2))*.3)),2)+.9)#end#macro p(c)#if(c>1)#local l=mod(c,100
);g(2*div(l,10)-8,2*mod(l,10)-8)*p(div(c,100))#else 1#end#end light_source{
y 2}sphere{z*20 9pigment{function{p(26252423)*p(36455644)*p(66656463)}}}//M


Post a reply to this message

From: Christopher James Huff
Subject: Re: isosurface and 0
Date: 6 Aug 2002 13:42:18
Message: <chrishuff-0C9B46.12321706082002@netplex.aussie.org>
You did not give very much information. What is the rest of the 
isosurface code? What threshold are you using?

My first guess: the problem has nothing to do with 0, it is that your 
first function goes up to the threshold value but not past it over a 
large volume, making the solver work harder to find the surface. Your 
second function goes past it by a tiny amount. I would not expect either 
of these functions to behave reliably with a threshold of 0.

-- 
Christopher James Huff <chr### [at] maccom>
POV-Ray TAG e-mail: chr### [at] tagpovrayorg
TAG web site: http://tag.povray.org/


Post a reply to this message

From: Christoph Hormann
Subject: Re: isosurface and 0
Date: 7 Aug 2002 02:42:21
Message: <3D50C14D.A953A678@gmx.de>
Christopher James Huff wrote:
> 
> You did not give very much information. What is the rest of the
> isosurface code? What threshold are you using?
> 
> My first guess: the problem has nothing to do with 0, it is that your
> first function goes up to the threshold value but not past it over a
> large volume, making the solver work harder to find the surface. Your
> second function goes past it by a tiny amount. I would not expect either
> of these functions to behave reliably with a threshold of 0.

Note that 'accuracy' plays an important role in that concern, if it's set
smaller than 0.0001 in this case things should work.

But it's of course right that it is not a good idea to use such functions
in an isosurface.

Christoph

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


Post a reply to this message

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