![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <399109b6@news.povray.org>, "Mick Hazelgrove"
<mic### [at] mhazelgrove fsnet co uk> wrote:
> Ken is right - there's no way on earth I could have come up with
> that.
I thought it was pretty basic...just remap the values, and clamp to the
[0, 1] range to produce the plateaus. Isosurface functions were the
natural choice for this, since they can be used as a pattern and have
access to the noise function.
> Thank you Nathan for the help and Chris for the iso suggestion.
> There are other patterns affected by the change, will the same
> function work for them?
Yes and no...you could rebuild the patterns in function form, but it
wouldn't be easy for some. It would be easier to use the pigment_pattern
for these. However, I think bozo/bumps/spotted were the main
problem...the other patterns might work fine.
--
Christopher James Huff - Personal e-mail: chr### [at] mac com
TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
Personal Web page: http://homepage.mac.com/chrishuff/
TAG Web page: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3990DBEA.BE182729@pacbell.net>, lin### [at] povray org
wrote:
> It looks like something the "average" POV-Ray user would never be
> able to come up with on his/her own.
I just don't understand why not, pattern functions seemed the natural
choice, and the function is quite simple. Maybe it would be more easily
understood this way:
//clamps the value x to the range [y,z]
#declare clamp = function {max(y,min(z,x))}
//old style bozo, complete with plateaus
#declare OldBozo =
function {clamp(noise3d(x,y,z)/0.48985582 - 1.05242 + 0.5, 0, 1)}
Or are you talking about the "noise3d(x,y,z)/0.48985582 - 1.05242 + 0.5"
part? That was just the mapping copied from Nathans post.
--
Christopher James Huff - Personal e-mail: chr### [at] mac com
TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
Personal Web page: http://homepage.mac.com/chrishuff/
TAG Web page: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Chris, many of us gave up maths a long time ago and even then, in my case, I
didn't go much beyond what was then in England "O"levels. I have spent most
of my life as a painter, sculptor and teacher. I have a longing to go back
and try and catch up and when I retire it will be my first act. Until then I
will have to rely on asking you and others for help. Sorry!
Mick
"Chris Huff" <chr### [at] mac com> wrote in message
news:chrishuff-E4E0EF.12124009082000@news.povray.org...
> In article <3990DBEA.BE182729@pacbell.net>, lin### [at] povray org
> wrote:
>
> > It looks like something the "average" POV-Ray user would never be
> > able to come up with on his/her own.
>
> I just don't understand why not, pattern functions seemed the natural
> choice, and the function is quite simple. Maybe it would be more easily
> understood this way:
>
>
> file://clamps the value x to the range [y,z]
> #declare clamp = function {max(y,min(z,x))}
>
> file://old style bozo, complete with plateaus
> #declare OldBozo =
> function {clamp(noise3d(x,y,z)/0.48985582 - 1.05242 + 0.5, 0, 1)}
>
> Or are you talking about the "noise3d(x,y,z)/0.48985582 - 1.05242 + 0.5"
> part? That was just the mapping copied from Nathans post.
>
> --
> Christopher James Huff - Personal e-mail: chr### [at] mac com
> TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
> Personal Web page: http://homepage.mac.com/chrishuff/
> TAG Web page: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Mick Hazelgrove" <mic### [at] mhazelgrove fsnet co uk> wrote...
> Ken is right - there's no way on earth I could have come up with that.
Thank
> you Nathan for the help and Chris for the iso suggestion. There are other
> patterns affected by the change, will the same function work for them?
I think the only other affected patterns are wrinkles and (maybe) agate
(maybe granite, too, but I don't think so). Those are not so easy to change
(especially using functions), but I think that using the pigment_pattern
approach would probably work.
-Nathan
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3994ca8b$1@news.povray.org>, "Nathan Kopp"
<Nat### [at] Kopp com> wrote:
> I think the only other affected patterns are wrinkles and (maybe)
> agate (maybe granite, too, but I don't think so). Those are not so
> easy to change (especially using functions), but I think that using
> the pigment_pattern approach would probably work.
The affected patterns include:
bozo, bumps, spotted, noise3d(), all of which are identical. (well,
noise3d() can be used as a function pattern, and they aren't identical
in normals, though bozo, spotted, and noise3d() should be more useful in
normals now)
dents
agate
crackle(with "solid" on, at least)
granite
wrinkles
And of course, the ridged multifractal functions. In addition, anything
using turbulence will be affected.
However, "affected" can simply mean the image generated by the pattern
will change, the difference is probably not very noticeable most of the
time in the more complex patterns. And there isn't any difference in
actual use.
--
Christopher James Huff - Personal e-mail: chr### [at] mac com
TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
Personal Web page: http://homepage.mac.com/chrishuff/
TAG Web page: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nathan Kopp wrote:
> The mapping is (if I did the math correctly):
> old_value = (new_value / 0.48985582) - 1.05242 + 0.5
what is the significance of these numbers?
--
Anton Sherwood -- br0### [at] p0b0x com -- http://ogre.nu/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Anton Sherwood" <bro### [at] pobox com> wrote...
> Nathan Kopp wrote:
> > The mapping is (if I did the math correctly):
> > old_value = (new_value / 0.48985582) - 1.05242 + 0.5
>
> what is the significance of these numbers?
They are a result of some tests that Xander did on the "old" noise3d
function. The function itself has more flaws (such as a grid pattern that
you can see if you look closely).
Actually, 0.5 should probably have been used instead of 0.48985582 and 1.0
should probably have been used instead of 1.05242. I don't know enough
about the original function to know details, though. The issue is that the
range of the original function was incorrect.
-Nathan
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Chris Huff" <chr### [at] mac com> wrote...
> The affected patterns include:
...
> crackle(with "solid" on, at least)
Only crackle solid is affected. The old-style crackle does not use noise.
> And of course, the ridged multifractal functions.
Hmm... I forgot about those.
> In addition, anything
> using turbulence will be affected.
Actually, not everything. There are two kinds of turbulence in POV. The
first one, "Turbulence," uses the "Noise" function which is affected. The
second one, "DTurbulence," which uses the 3D "DNoise" is not affected. The
following patterns will use "Turbulence" if "classic" turbulence is used.
All other patterns, and all turbulence warps use DTurbulence and are
therefore not affected.
Classic turbulence affected for:
marble
spiral1
spiral2
fog
Also, iridescence uses the "Turbulence" funciton, so it is affected by the
change.
-Nathan
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3996dcf0@news.povray.org>, "Nathan Kopp" <Nat### [at] Kopp com>
wrote:
> Only crackle solid is affected. The old-style crackle does not use
> noise.
That is what I meant.
> Actually, not everything. There are two kinds of turbulence in POV.
> The first one, "Turbulence," uses the "Noise" function which is
> affected. The second one, "DTurbulence," which uses the 3D "DNoise"
> is not affected.
How is DNoise() different from Noise()? This is something I have never
figured out. I had just assumed both had the same problem.
> Classic turbulence affected for:
> marble
> spiral1
> spiral2
I thought only agate had a specialized turbulence...why do these
patterns have a different turbulence from the others?
--
Christopher James Huff - Personal e-mail: chr### [at] mac com
TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
Personal Web page: http://homepage.mac.com/chrishuff/
TAG Web page: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> "Chris Huff" <chr### [at] mac com> wrote...
> > The affected patterns include:
> ...
> > crackle(with "solid" on, at least)
Nathan Kopp wrote:
> Only crackle solid is affected. The old-style crackle does not use noise.
What's crackle solid? (I *did* rtfm!)
--
Anton Sherwood -- br0### [at] p0b0x com -- http://ogre.nu/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |