POV-Ray : Newsgroups : povray.general : Any way to create variable turbulence? Server Time
8 Aug 2024 04:08:58 EDT (-0400)
  Any way to create variable turbulence? (Message 1 to 9 of 9)  
From: Disnel
Subject: Any way to create variable turbulence?
Date: 22 Mar 2001 09:07:24
Message: <3ABA1777.1010108@hlavacek-partner.cz>
I need to create turbulated pattern with amount of turbulence 
dynamically changing, at the center of some circle I need zero 
turbulence and at some distance from center I need turbulence 1.

Ideal will be some way to get turbulence value at some point from 
another pattern.

Any way to do this? Or I will require coding?

Regards

Disnel


Post a reply to this message

From: Christoph Hormann
Subject: Re: Any way to create variable turbulence?
Date: 22 Mar 2001 09:21:12
Message: <3ABA0A53.C3C249F8@gmx.de>
Disnel wrote:
> 
> I need to create turbulated pattern with amount of turbulence
> dynamically changing, at the center of some circle I need zero
> turbulence and at some distance from center I need turbulence 1.
> 
> Ideal will be some way to get turbulence value at some point from
> another pattern.
> 
> Any way to do this? Or I will require coding?
> 

You can use a pigment_map, something like:

pigment {
  spherical
  pigment_map {
    [0.0 bozo turbulence 1.0 ]
    [1.0 bozo turbulence 0.0 ]
  }
}

Maybe use more pigment map entries with a while loop.

Rune has some examples for this technique on his site:
http://rsj.mobilixnet.dk/3d/goodies/goodies.html

Christoph

-- 
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other 
things on: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

From: Disnel
Subject: Re: Any way to create variable turbulence?
Date: 22 Mar 2001 11:02:30
Message: <3ABA3271.5080508@hlavacek-partner.cz>
> You can use a pigment_map, something like:
> 
> pigment {
>   spherical
>   pigment_map {
>     [0.0 bozo turbulence 1.0 ]
>     [1.0 bozo turbulence 0.0 ]
>   }
> }
> 
> Maybe use more pigment map entries with a while loop.
> 
I need it for curving rays from some point, at the point they should be 
straight and at greater distance they should be randomly curved. When I 
will use your pigment_map they will be chopped.

Disnel


Post a reply to this message

From: Christoph Hormann
Subject: Re: Any way to create variable turbulence?
Date: 22 Mar 2001 11:34:09
Message: <3ABA2982.B7265C7@gmx.de>
Disnel wrote:
> 
> > You can use a pigment_map, something like:
> >
> > pigment {
> >   spherical
> >   pigment_map {
> >     [0.0 bozo turbulence 1.0 ]
> >     [1.0 bozo turbulence 0.0 ]
> >   }
> > }
> >
> > Maybe use more pigment map entries with a while loop.
> >
> I need it for curving rays from some point, at the point they should be
> straight and at greater distance they should be randomly curved. When I
> will use your pigment_map they will be chopped.
> 

I don't really understand what you want to do, but the construction i
suggested makes a perfectly smooth pigment if you use a smooth color map.

Christoph

-- 
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other 
things on: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

From: Disnel
Subject: Re: Any way to create variable turbulence?
Date: 22 Mar 2001 11:36:00
Message: <3ABA3A49.504@hlavacek-partner.cz>
Image descripbin the problem sent to p.b.i


Post a reply to this message

From: Christoph Hormann
Subject: Re: Any way to create variable turbulence?
Date: 22 Mar 2001 11:46:35
Message: <3ABA2C69.5B4437AB@gmx.de>
Disnel wrote:
> 
> Image descripbin the problem sent to p.b.i

Seen it, just use more pigment map entries with a while loop like i
suggested:

pigment {
  spherical
  pigment_map {
    #declare Inx=0.0;
    #while (Inx<=1.0)
      [Inx bozo turbulence 1.0-Inx ]
      #declare Inx=Inx+0.03;
    #end
  }
}

Of course you can only use up to 255 entries right now.

Christoph

-- 
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other 
things on: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

From: Warp
Subject: Re: Any way to create variable turbulence?
Date: 22 Mar 2001 11:57:31
Message: <3aba2efa@news.povray.org>
Perhaps you could use pigment functions for this.
  That is, create two functions using two pigments (the same pigments but
with different amount of turbulence) and then interpolate between these
two functions as needed.

-- 
char*i="b[7FK@`3NB6>B:b3O6>:B:b3O6><`3:;8:6f733:>::b?7B>:>^B>C73;S1";
main(_,c,m){for(m=32;c=*i++-49;c&m?puts(""):m)for(_=(
c/4)&7;putchar(m),_--?m:(_=(1<<(c&3))-1,(m^=3)&3););}    /*- Warp -*/


Post a reply to this message

From: Disnel
Subject: Re: Any way to create variable turbulence?
Date: 23 Mar 2001 06:28:29
Message: <3ABB43B4.10301@hlavacek-partner.cz>
Christoph Hormann wrote:

> 
> Disnel wrote:
> 
>> Image descripbin the problem sent to p.b.i
> 
> 
> Seen it, just use more pigment map entries with a while loop like i
> suggested:
> 
> pigment {
>   spherical
>   pigment_map {
>     #declare Inx=0.0;
>     #while (Inx<=1.0)
>       [Inx bozo turbulence 1.0-Inx ]
>       #declare Inx=Inx+0.03;
>     #end
>   }
> }
> 
> Of course you can only use up to 255 entries right now.

Sure, but it is still an aproximation. I want use it in isosurface.

> 
> Christoph


Post a reply to this message

From: Christoph Hormann
Subject: Re: Any way to create variable turbulence?
Date: 23 Mar 2001 06:36:04
Message: <3ABB3524.38B0FEA8@gmx.de>
Disnel wrote:
> 
> Sure, but it is still an aproximation. I want use it in isosurface.
> 

That shouldn't be a problem, of course it would be quite slow.

Another possibility would be to use a displace warp, but that would
generate a quite different type of turbulence.

Christoph

-- 
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other 
things on: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

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