I was looking over some shader code for the glory rainbow effect, and was
impressed that there were some in-built distributions that could be applied
(bell curve, etc).
One of the things that has bothered me for a long time is the opaqueness of the
internally used values that POV-Ray uses to construct patterns.
It's been noticeable that certain patterns are skewed in their representation of
certain value ranges - and it takes a great deal of effort to visualize the
underlying value distributions, and then translate that to how it affects the
composition and color-mapping of the final pigment patterns.
https://news.povray.org/web.650c19af5bb87ec31f9dae3025979125%40news.povray.org
https://news.povray.org/povray.advanced-users/thread/%3Cweb.63ed381961f8e3fb1f9dae3025979125%40news.povray.org%3E/
https://news.povray.org/web.5ad4e0b9bb501a74c437ac910%40news.povray.org
It also seemed to me that there wasn't a very even distribution of random values
coming out of the PRNG.
I'm not sure if you (WFP) have any ideas for some sort of in-built tool to
somehow graph or otherwise represent and visualize the value distributions, or
if you think that such a thing is just going to be left as "an exercise for the
alert reader".
Perhaps having some sort of inbuilt graphing calculator object {} would be nice
to have - and maybe things like function {pigment{}} could get plugged in...
Values for noise distributions ....
It might help mightily in debugging current and future yuqk development work.
I was just ruminating some more on jimmying color maps, and your code for
utilizing complex numbers in yuqk:
Do you have a mechanism that "switches over" from real to imaginary upon taking
the sqrt of a negative number?
Math with imaginary numbers seems burdensome when one has to begin implementing
special-purpose functions at the user level. Are there libraries that treat ALL
numbers as complex numbers, and only use special operations when the imaginary
component is nonzero?
I'm thinking that if your function VM were able to at least handle the
dot-notation of vector values (currently we have to pre-declare identifiers for
the separate vector components instead of simply using Vector.x) then you could
potentially use some nested select () to divert the math one way or the other.
From: William F Pokorny
Subject: Re: yuqk value distributions and color maps
Date: 11 Feb 2025 00:15:53
Message: <67aadd09$1@news.povray.org>
On 2/10/25 14:45, Bald Eagle wrote:
> Perhaps having some sort of inbuilt graphing calculator object {} would be nice> to have - and maybe things like function {pigment{}} could get plugged in...> Values for noise distributions
See histogram.pov shipped in the yuqk_DocAndAid_a5c25dda.tar.gz tarball.
<where unpacked>/yuqk_DocAndAid_a5c25dda/DocAidScenes/histogram.pov
Bill P.