POV-Ray : Newsgroups : povray.advanced-users : Turbulence Server Time
26 Nov 2024 15:32:18 EST (-0500)
  Turbulence (Message 1 to 10 of 16)  
Goto Latest 10 Messages Next 6 Messages >>>
From: Ken
Subject: Turbulence
Date: 23 Feb 2000 03:46:49
Message: <38B39E26.CE88C3AE@pacbell.net>
My understanding and experience with turbulence show that when applied
to a pigment pattern or surface normal the pattern is affected by some
form of pseudo random perturbation of the pattern it is applied to. In
many cases this is enough but there are times it would be nice to be
able to precisely predict how the pattern will be affected by the
turbulence modifier.

 Even better would be a way to specify a user defined pattern to the
turbulence such as one of the predefined wave types that may be used
with patterns themselves. When a user specifies a specific wave type
with a pigment/normal pattern the wave type chosen affects the slope
of that pattern. The idea with adding a pattern to the turbulence would
be to actually perturb the pattern itself in predictable patterns
rather than just the existing psuedo random pattern that is implemented
now.

  For example if you were using a simple gradient pigment pattern and
applied a triangle wave to the turbulence of the pattern the resulting
pigment pattern would look like this:

 /\/\/\/\/\/\/\ 

rather than the normal unpredictable result like this:

---\_____----~~~\


Suggested format would be:

turbulence [float/vector] [Wave_Type]

  The questions that arise are if this would be possible, is it already
possible using an existing method, and if it would be a useful function
that people would use. I know that iso-pigments rise to this challenge
to a certain degree but unless you are some form of mathematical genius
it is not really a good alternative for the mathematicaly challenged.


Personally I think it would make for some very interesting results and
would add a lot more power to the existing turbulence function.

-- 
Ken Tyler -  1300+ Povray, Graphics, 3D Rendering, and Raytracing Links:
http://home.pacbell.net/tylereng/index.html http://www.povray.org/links/


Post a reply to this message

From: Bob Hughes
Subject: Re: Turbulence
Date: 23 Feb 2000 05:02:52
Message: <38b3b04c@news.povray.org>
Sounds interesting.  In other words, using any pattern type to turbulate another
pattern with.  The difficulties might be in how the octaves, omega, and lambda
are to be applied maybe since those are all put into the equation, so to speak.
What I can't imagine too well is how it would go about affecting the pattern to
be perturbed because it seems that to do so without the usual turbulence would
just be a overlaying of another pattern on top of the other to various degrees.

Bob

"Ken" <tyl### [at] pacbellnet> wrote in message
news:38B39E26.CE88C3AE@pacbell.net...
|
| My understanding and experience with turbulence show that when applied
| to a pigment pattern or surface normal the pattern is affected by some
| form of pseudo random perturbation of the pattern it is applied to. In
| many cases this is enough but there are times it would be nice to be
| able to precisely predict how the pattern will be affected by the
| turbulence modifier.
|
|  Even better would be a way to specify a user defined pattern to the
| turbulence such as one of the predefined wave types that may be used
| with patterns themselves. When a user specifies a specific wave type
| with a pigment/normal pattern the wave type chosen affects the slope
| of that pattern. The idea with adding a pattern to the turbulence would
| be to actually perturb the pattern itself in predictable patterns
| rather than just the existing psuedo random pattern that is implemented
| now.
|
|   For example if you were using a simple gradient pigment pattern and
| applied a triangle wave to the turbulence of the pattern the resulting
| pigment pattern would look like this:
|
|  /\/\/\/\/\/\/\
|
| rather than the normal unpredictable result like this:
|
| ---\_____----~~~\
|
|
| Suggested format would be:
|
| turbulence [float/vector] [Wave_Type]
|
|   The questions that arise are if this would be possible, is it already
| possible using an existing method, and if it would be a useful function
| that people would use. I know that iso-pigments rise to this challenge
| to a certain degree but unless you are some form of mathematical genius
| it is not really a good alternative for the mathematicaly challenged.
|
|
| Personally I think it would make for some very interesting results and
| would add a lot more power to the existing turbulence function.
|
| --
| Ken Tyler -  1300+ Povray, Graphics, 3D Rendering, and Raytracing Links:
| http://home.pacbell.net/tylereng/index.html http://www.povray.org/links/


Post a reply to this message

From: Ken
Subject: Re: Turbulence
Date: 23 Feb 2000 05:15:10
Message: <38B3B2DA.DB38919D@pacbell.net>
Bob Hughes wrote:
> 
> Sounds interesting.  In other words, using any pattern type to turbulate another
> pattern with.  The difficulties might be in how the octaves, omega, and lambda
> are to be applied maybe since those are all put into the equation, so to speak.
> What I can't imagine too well is how it would go about affecting the pattern to
> be perturbed because it seems that to do so without the usual turbulence would
> just be a overlaying of another pattern on top of the other to various degrees.

Actually I wasn't thinking of just any pattern type.

For example - turbulence 0.25 bozo - was not what I had in mind though
it does present some interesting possiblities.

Instead I was thinking something more along the lines of

turbulence 0.25 ramp_wave

With this type of predefined turbulence modifier the octaves etc. should
work as they do now. The real problem is that I am probably thinking two
dimensionally and this may be impossible to implement in a 3D pattern.

-- 
Ken Tyler -  1300+ Povray, Graphics, 3D Rendering, and Raytracing Links:
http://home.pacbell.net/tylereng/index.html http://www.povray.org/links/


Post a reply to this message

From: Chris Huff
Subject: Re: Turbulence
Date: 23 Feb 2000 06:19:59
Message: <chrishuff_99-CA0D72.06212123022000@news.povray.org>
In article <38B3B2DA.DB38919D@pacbell.net>, lin### [at] povrayorg 
wrote:

> Actually I wasn't thinking of just any pattern type.
> 
> For example - turbulence 0.25 bozo - was not what I had in mind though
> it does present some interesting possiblities.
> 
> Instead I was thinking something more along the lines of
> 
> turbulence 0.25 ramp_wave
> 
> With this type of predefined turbulence modifier the octaves etc. should
> work as they do now. The real problem is that I am probably thinking two
> dimensionally and this may be impossible to implement in a 3D pattern.

The "waveforms" are 1 dimensional-a value goes in, gets changed a bit, 
and comes back out. When the two sets of values are graphed, they form 
different waveforms. I think of it as an equivalent to certain types of 
filters in electronics.
Maybe something I was thinking about when trying to come up with ways to 
make blurred reflections/transparence directional would be useful: a 
"tri-pattern", consisting of 3 patterns each with an optional waveform 
modifier(which is actually part of the pattern in the source) and a 
multiplier(or maybe two numbers indicating a range for the pattern), one 
for each dimension. A triangle wave turbulence would pe something like 
this: turbulence 0.25 < solid 0 0, gradient x 1, solid 0 0>(notice that 
this uses my solid pattern). I had abandoned this idea since it would 
require evaluating 3 different patterns for every point(possibly slowing 
things down) and would probably be difficult to control.

Maybe we just need a turbulence family of warps, each of them being a 
variation of turbulence.

-- 
Chris Huff
e-mail: chr### [at] yahoocom
Web page: http://chrishuff.dhs.org/


Post a reply to this message

From: Ron Parker
Subject: Re: Turbulence
Date: 23 Feb 2000 08:31:50
Message: <38b3e146@news.povray.org>
On Wed, 23 Feb 2000 00:45:26 -0800, Ken wrote:
>  The questions that arise are if this would be possible, is it already
>possible using an existing method, and if it would be a useful function
>that people would use. I know that iso-pigments rise to this challenge
>to a certain degree but unless you are some form of mathematical genius
>it is not really a good alternative for the mathematicaly challenged.

It's possible, probably not using an existing method, and it would be 
very useful.  I'd love to have that functionality.  I've already made 
noises about doing something like this, but never gotten around to 
actually doing it.  As for syntax, it would be far better if done as a 
warp, and since patterns are scalar it would have to have a vector to 
offset along as well.  Something like this, perhaps, to produce the 
zigzag pattern you mentioned:

warp {pigment {marble} y}

-- 
These are my opinions.  I do NOT speak for the POV-Team.
The superpatch: http://www2.fwi.com/~parkerr/superpatch/
My other stuff: http://www2.fwi.com/~parkerr/traces.html


Post a reply to this message

From: Ron Parker
Subject: Re: Turbulence
Date: 23 Feb 2000 08:41:31
Message: <38b3e38b@news.povray.org>
On Wed, 23 Feb 2000 06:21:21 -0500, Chris Huff wrote:
>"tri-pattern", consisting of 3 patterns each with an optional waveform 
>modifier(which is actually part of the pattern in the source) and a 
>multiplier(or maybe two numbers indicating a range for the pattern), one 
>for each dimension. A triangle wave turbulence would pe something like 
>this: turbulence 0.25 < solid 0 0, gradient x 1, solid 0 0>(notice that 
>this uses my solid pattern). I had abandoned this idea since it would 
>require evaluating 3 different patterns for every point(possibly slowing 
>things down) and would probably be difficult to control.

See my other post for my suggestion.  It doesn't quite solve the same problem
yours does, though, because there's no way to warp a point based on its
original position, so you couldn't add warps together like what you're proposing
would; you can only do them in sequence.  Perhaps a 

  warp { [sum|difference|cross]
    warp {blah blah blah}
    warp {blah blah blah}
  }

would be an interesting addition as well.

-- 
These are my opinions.  I do NOT speak for the POV-Team.
The superpatch: http://www2.fwi.com/~parkerr/superpatch/
My other stuff: http://www2.fwi.com/~parkerr/traces.html


Post a reply to this message

From: Ken
Subject: Re: Turbulence
Date: 24 Feb 2000 00:05:18
Message: <38B4BBAD.E134BD5F@pacbell.net>
Ron Parker wrote:

> It's possible, probably not using an existing method, and it would be
> very useful.  I'd love to have that functionality.

Glad I am not alone in seeing a positive use for something like this.

>  Something like this, perhaps, to produce the
> zigzag pattern you mentioned:
 
> warp {pigment {marble} y}

Could you break this down to help me understand how this might produce
a zigzag pattern ? I'm so easily confused...

-- 
Ken Tyler -  1300+ Povray, Graphics, 3D Rendering, and Raytracing Links:
http://home.pacbell.net/tylereng/index.html http://www.povray.org/links/


Post a reply to this message

From: Margus Ramst
Subject: Re: Turbulence
Date: 24 Feb 2000 08:00:39
Message: <38B52BF3.72B9F8B9@peak.edu.ee>
Well, on a XZ plane and a gradient x I'd say a warp{pigment{marble} x} would
produce the zig-zag pattern.
Each point of the gradient would be warped along the specified axis (here x),
and the amount of warping would depend on the current value of the warp pattern
(marble = gradient z triangle_wave which goes min>max>min>... along the z axis).
Several image manipulation programs have filters that use this prince; I know
GIMP has one, so does HLA (height_field generator). It allows for many kinds of
interesting effects.

Margus

Ken wrote:
> 
> Could you break this down to help me understand how this might produce
> a zigzag pattern ? I'm so easily confused...
>


Post a reply to this message

From: Chris Huff
Subject: Re: Turbulence
Date: 24 Feb 2000 08:10:34
Message: <chrishuff_99-1163ED.08115724022000@news.povray.org>
In article <38B52BF3.72B9F8B9@peak.edu.ee>, Margus Ramst 
<mar### [at] peakeduee> wrote:

> Well, on a XZ plane and a gradient x I'd say a warp{pigment{marble} 
> x} would produce the zig-zag pattern. Each point of the gradient 
> would be warped along the specified axis (here x), and the amount of 
> warping would depend on the current value of the warp pattern (marble 
> = gradient z triangle_wave which goes min>max>min>... along the z 
> axis).

Hmm, since here a pigment's color_map is being used to calculate 
vectors...why not use a pattern and add a "vector_map"? It would add one 
keyword, but would leave a cleaner syntax.

-- 
Chris Huff
e-mail: chr### [at] yahoocom
Web page: http://chrishuff.dhs.org/


Post a reply to this message

From: Margus Ramst
Subject: Re: Turbulence
Date: 24 Feb 2000 08:20:23
Message: <38B53093.E6119BE1@peak.edu.ee>
Chris Huff wrote:
> 
> Hmm, since here a pigment's color_map is being used to calculate
> vectors...why not use a pattern and add a "vector_map"? It would add one
> keyword, but would leave a cleaner syntax.
> 

In what Ron proposes, values would be used to calculate only vector lengths.
But it would indeed be more flexible to allow similar syntax as in other maps,
e.g. warp{pigment{marble vector_map{[0,z][1,<0,1,1>]}}}

Margus


Post a reply to this message

Goto Latest 10 Messages Next 6 Messages >>>

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