|
![](/i/fill.gif) |
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
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
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] mac com>
POV-Ray TAG e-mail: chr### [at] tag povray org
TAG web site: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
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
|
![](/i/fill.gif) |