|
![](/i/fill.gif) |
in news:3B0ACF9A.57CA26D7@hotmail.com Tor Olav Kristensen wrote:
> I'm not sure of the reason for other one.
> Maybe it's some "epsilon problem" mentioned
> earlier somewhere in these groups ?
>
It's an accuracy problem indeed and in the meanwhile I solved it. The
subsequent additions and substractions with small numbers seem to be
less accurate than the multiplications I use now:
#declare Uiter=100;
#declare Viter=100;
#declare Umin=0.0000001;
#declare Umax=0.9999999;
#declare Vmin=0.0000001;
#declare Vmax=1.9999999;
#declare iU=(Umax-Umin)/Uiter;
#declare iV=(Vmax-Vmin)/Viter;
#declare I=Vmin;
#while (I<Viter)
#declare J=Umin;
#while (J<Uiter)
#declare VV=I*iV;
#declare UU=J*iU;
//some code ...
#declare UU=UU+iU;
#declare VV=VV+iV;
#if (UU>Umax | VV>Vmax)
#debug concat("UU+ =",str(UU,0,-1),"\n")
#debug concat("VV+ =",str(VV,0,-1),"\n")
#end
//some more code here ...
//#declare UU=UU-iU;
//#declare VV=VV-iV;
// instead of substraction use multiplication,
// and 're-declare.
#declare VV=I*iV;
#declare UU=J*iU;
//even more code ...
#declare I=I+1;
#end
#declare J=J+1;
#end
Ingo
--
Photography: http://members.home.nl/ingoogni/
Pov-Ray : http://members.home.nl/seed7/
Ingo
--
Photography: http://members.home.nl/ingoogni/
Pov-Ray : http://members.home.nl/seed7/
Post a reply to this message
|
![](/i/fill.gif) |