POV-Ray : Newsgroups : povray.beta-test : High turbulence Server Time
29 Jul 2024 14:16:09 EDT (-0400)
  High turbulence (Message 1 to 9 of 9)  
From: Felix Wiemann
Subject: High turbulence
Date: 6 May 2002 09:38:34
Message: <3cd6875a@news.povray.org>
RC3, SuSE Linux 7.3, P3 600, 128MB RAM

When I use values for turbulence above 2^31 (2 billions), white areas 
appear. The bigger the values the bigger the areas. The following scene 
shows the 'problem':


camera{orthographic location z * -10 look_at 0 right x * 8 up y * 6}
plane
   {
   -z, 0
   pigment
      {
      checker color rgb 1 color rgb 0
      warp
         {
         turbulence 10000000000
         }
      }
   finish{ambient 1}
   }


I don't know if it's possible or even worth to fix it, but such high 
values could perhaps be used for some noise in only one direction. 
Maybe using some floating point type instead of int would solve the 
problem and be also more accurate.
-- 
Felix Wiemann


Post a reply to this message

From:
Subject: Re: High turbulence
Date: 6 May 2002 09:48:17
Message: <t32dduoimg6483855qr4h5hf2tsni3066e@4ax.com>
On Mon, 06 May 2002 15:42:53 +0200, Felix Wiemann <Fel### [at] gmxnet>
wrote:
> Maybe using some floating point type instead of int

Turbulence has neither float nor integer as parameter.
It use vector parameter! Shortcut with float as vector
is first example of 6.7.12.6.3 chapter.  I wonder what
suggested to you it should be integer ?

ABX


Post a reply to this message

From: Felix Wiemann
Subject: Re: High turbulence
Date: 6 May 2002 10:53:58
Message: <3cd69906@news.povray.org>

> On Mon, 06 May 2002 15:42:53 +0200, Felix Wiemann
> <Fel### [at] gmxnet> wrote:
>> Maybe using some floating point type instead of int
> 
> Turbulence has neither float nor integer as parameter.
> It use vector parameter! Shortcut with float as vector
> is first example of 6.7.12.6.3 chapter.  I wonder what
> suggested to you it should be integer ?

Sorry, I haven't been clear enough. I actually refered to the source. I 
guess it's a problem of int (or long int) due to the 2^31 limit.
-- 
Felix Wiemann


Post a reply to this message

From: Warp
Subject: Re: High turbulence
Date: 6 May 2002 10:56:17
Message: <3cd69991@news.povray.org>
Felix Wiemann <Fel### [at] gmxnet> wrote:
> When I use values for turbulence above 2^31 (2 billions), white areas 
> appear.

  And that surprises you?
  When we go to the extremes, floating point accuracy errors usually give
funny results.

> Maybe using some floating point type instead of int would solve the 
> problem and be also more accurate.

  Why do you think that any part of turbulence calculations use ints? AFAIK
it's all floating point.

-- 
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -


Post a reply to this message

From:
Subject: Re: High turbulence
Date: 8 May 2002 14:29:20
Message: <mfridus5mg47k5ekglj8mnh8rahg78rp6i@4ax.com>
On Mon, 06 May 2002 16:59:10 +0200, Felix Wiemann <Fel### [at] gmxnet>
wrote:
> Sorry, I haven't been clear enough. I actually refered to the source. I 
> guess it's a problem of int (or long int) due to the 2^31 limit.

IIRC every number is readed from scripts as float. Only if internal
representation requires integer then it is converted.

ABX


Post a reply to this message

From: Felix Wiemann
Subject: Re: High turbulence
Date: 8 May 2002 15:11:28
Message: <3cd97860@news.povray.org>
Warp wrote:
>   And that surprises you?
>   When we go to the extremes, floating point accuracy errors usually
>   give
> funny results.

At exactly 2^31?

>   Why do you think that any part of turbulence calculations use ints?
>   AFAIK
> it's all floating point.

Because this is a limit typical for int.
-- 
Felix Wiemann


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: High turbulence
Date: 8 May 2002 17:41:29
Message: <3cd99b89@news.povray.org>
In article <3cd69991@news.povray.org> , Warp <war### [at] tagpovrayorg>  wrote:

>   Why do you think that any part of turbulence calculations use ints? AFAIK
> it's all floating point.

Noise uses ints and noise is used by turbulence.  However, your point is of
course still valid - using numbers of this size will never yield a precise
enough result.  Nor is there really any use for such a turbulence value.

    Thorsten

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: High turbulence
Date: 8 May 2002 17:45:15
Message: <3cd99c6b$1@news.povray.org>
In article <3cd6875a@news.povray.org> , Felix Wiemann <Fel### [at] gmxnet>
wrote:

> I don't know if it's possible or even worth to fix it, but such high
> values could perhaps be used for some noise in only one direction.

No, what you are trying is close to pointless.  It will break very early along
the way - even long before this limit!  Of course, if you really want to be
floating-point accuracy (which is the issue long before hitting this
particular limit) to be part of your turbulence you can use it.

    Thorsten

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Warp
Subject: Re: High turbulence
Date: 8 May 2002 20:33:43
Message: <3cd9c3e6@news.povray.org>
Another simple example of where accuracy errors kick in is the
following:

camera { location -z*100000 look_at 0 angle .002 }
light_source { <100,200,-300>, 1 }
sphere { 0,1 pigment { rgb 1 } }

-- 
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}//  - Warp -


Post a reply to this message

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