POV-Ray : Newsgroups : povray.general : Looping : Re: Looping Server Time
7 Aug 2024 21:21:45 EDT (-0400)
  Re: Looping  
From: ingo
Date: 22 May 2001 17:29:36
Message: <Xns90A9EEFCBC500seed7@povray.org>
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

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