





 
 




 
 


Op 03/06/2021 om 08:39 schreef Thomas de Groot:
> Interesting! The use of voronoi diagrams had crossed my mind as an
> alternative. However, I have not the slightest idea how to do that; a
> bit beyond my capacities I am afraid. Still, good to know it has been
> done. Another fork to the exploration rig. Thanks!
>
Which reminded me of an old program I played with in the past:
Tesselsphere. On Sourceforge, there are other utilities too using
voronoi diagrams.
https://sourceforge.net/directory/os:windows/?q=voronoi

Thomas
Post a reply to this message


 
 




 
 


Thomas de Groot <tho### [at] degrootorg> wrote:
> Interesting! The use of voronoi diagrams had crossed my mind as an
> alternative. However, I have not the slightest idea how to do that; a
> bit beyond my capacities I am afraid. Still, good to know it has been
> done. Another fork to the exploration rig. Thanks!
Good heavens, lad! You're already doing it.
Crackle IS Voronoi  and you're using crackle {solid} which is 3D Voronoi.
Stop being so modest. :)
Post a reply to this message


 
 




 
 


Op 362021 om 12:16 schreef Bald Eagle:
> Thomas de Groot <tho### [at] degrootorg> wrote:
>
>> Interesting! The use of voronoi diagrams had crossed my mind as an
>> alternative. However, I have not the slightest idea how to do that; a
>> bit beyond my capacities I am afraid. Still, good to know it has been
>> done. Another fork to the exploration rig. Thanks!
>
> Good heavens, lad! You're already doing it.
> Crackle IS Voronoi  and you're using crackle {solid} which is 3D Voronoi.
>
> Stop being so modest. :)
>
>
LOL! I completely forgot about that aspect of crackle!
Gentilhomme" where de main character, wanting to get access to the upper
echelons of society, starts to "educate" himself with the help of
"teachers" (more interested in money) and so is delighted to learn that
he has been speaking "prose" all his life without knowing it.
https://en.wikipedia.org/wiki/Le_Bourgeois_gentilhomme
[Admire my latest portrait on the site above. I think it is particularly
well done and lifelike] :)

Thomas
Post a reply to this message


 
 




 
 


Op 03/06/2021 om 13:27 schreef Thomas de Groot:
> Op 362021 om 12:16 schreef Bald Eagle:
>> Thomas de Groot <tho### [at] degrootorg> wrote:
>>
>>> Interesting! The use of voronoi diagrams had crossed my mind as an
>>> alternative. However, I have not the slightest idea how to do that; a
>>> bit beyond my capacities I am afraid. Still, good to know it has been
>>> done. Another fork to the exploration rig. Thanks!
>>
>> Crackle IS Voronoi  and you're using crackle {solid} which is 3D
>> Voronoi.
>>
>>
>>
> LOL! I completely forgot about that aspect of crackle!
>
...but seriously, I would be interested to know how to use voronoi
diagrams for this particular project, apart from the crackles pattern.
Something where the individual cells (and distribution of them) would be
more "controlled" by the user. Beyond the "using voronoi without knowing
it", that would completely change the whole granite setup I think. At
this moment, beyond the beta and beyond the final version.

Thomas
Post a reply to this message


 
 




 
 


Thomas de Groot <tho### [at] degrootorg> wrote:
> ...but seriously, I would be interested to know how to use voronoi
> diagrams for this particular project, apart from the crackles pattern.
> Something where the individual cells (and distribution of them) would be
> more "controlled" by the user. Beyond the "using voronoi without knowing
> it", that would completely change the whole granite setup I think.
Correct, and there has been some interest in exactly that for quite some time.
I have 2 or 3 implementations of Voronoi algorithms coded in GLSL/Shadertoy that
I've been meaning to start converting to SDL, in the hopes that I could get
something reasonably functional.
I didn't get to spend ANY POVtime yesterday, but I was thinking about exactly
what you're talking about, and it occurred to me that one thing we could
probably do is plug crackle into a function and then operate on the function
coordinates  like I did with the vortex. That would give spatial control.
Then the whole bricks pattern trick would give further control over the
coloring.
And, of course Jerome Grimbert has already addressed this in hgpovray38
https://wiki.povray.org/content/User:Le_Forgeron#voronoi
I mean, even for now, we could probably just add some gentle black hole warps or
other warps to the basic granite pattern and introduce a little bit of
variation. I'm bad at implementing warps, but maybe the quartz veins could
benefit from some clever application of them.
> At
> this moment, beyond the beta and beyond the final version.
Yes, just looking at the POVRay source code for the crackle and other
voronoibased pattern shows it to be a little complex, and IIRC, the problem was
really that it's one of those things that you can do fairly straightforwardly
with an algorithm when directly shading pixels, but would be difficult or
impossible to do with straight SDL functions.
https://thebookofshaders.com/12/
https://iquilezles.org/www/articles/voronoilines/voronoilines.htm
https://iquilezles.org/www/articles/smoothvoronoi/smoothvoronoi.htm
https://iquilezles.org/www/articles/voronoise/voronoise.htm
Post a reply to this message


 
 




 
 


Op 462021 om 12:20 schreef Bald Eagle:
> Thomas de Groot <tho### [at] degrootorg> wrote:
>
>> ...but seriously, I would be interested to know how to use voronoi
>> diagrams for this particular project, apart from the crackles pattern.
>> Something where the individual cells (and distribution of them) would be
>> more "controlled" by the user. Beyond the "using voronoi without knowing
>> it", that would completely change the whole granite setup I think.
>
> Correct, and there has been some interest in exactly that for quite some time.
>
> I have 2 or 3 implementations of Voronoi algorithms coded in GLSL/Shadertoy that
> I've been meaning to start converting to SDL, in the hopes that I could get
> something reasonably functional.
>
I did a bit of browsing about voronoi diagrams, in particular MathWorks,
and it occurred to me (just thinking aloud here) that if we could
generate a 3d voronoi volume based on a random set of points in an
array, that volume  intersected by the object we want to texture with
granite  would give a 2d voronoi granite pattern. At least, that was
how I interpreted the info given in MathWorks, which somehow seemed to
click right away with those papers you directed me to.
Perhaps, we do not even need a 3d volume at all, but it seems to me that
it would be a better, or more "natural", approach to the problem.
>
>
> I didn't get to spend ANY POVtime yesterday, but I was thinking about exactly
> what you're talking about, and it occurred to me that one thing we could
> probably do is plug crackle into a function and then operate on the function
> coordinates  like I did with the vortex. That would give spatial control.
>
> Then the whole bricks pattern trick would give further control over the
> coloring.
>
That is an interesting idea... we should certainly follow up that line
to see where it would get us.
> And, of course Jerome Grimbert has already addressed this in hgpovray38
> https://wiki.povray.org/content/User:Le_Forgeron#voronoi
>
Ok. I need to look at that.
> I mean, even for now, we could probably just add some gentle black hole warps or
> other warps to the basic granite pattern and introduce a little bit of
> variation. I'm bad at implementing warps, but maybe the quartz veins could
> benefit from some clever application of them.
>
Maybe. I am not sure what the black hole warp would really add to the
turbulence warp already in place. Granites are not very turbulent by
themselves and rather monotonous in fact.
>> At
>> this moment, beyond the beta and beyond the final version.
>
> Yes, just looking at the POVRay source code for the crackle and other
> voronoibased pattern shows it to be a little complex, and IIRC, the problem was
> really that it's one of those things that you can do fairly straightforwardly
> with an algorithm when directly shading pixels, but would be difficult or
> impossible to do with straight SDL functions.
>
> https://thebookofshaders.com/12/
> https://iquilezles.org/www/articles/voronoilines/voronoilines.htm
> https://iquilezles.org/www/articles/smoothvoronoi/smoothvoronoi.htm
> https://iquilezles.org/www/articles/voronoise/voronoise.htm
>
Well, it appears we shall not have time to get bored or idle. ;)
In the meantime, I have started to write that piece of documentation you
asked about. Steadily growing.

Thomas
Post a reply to this message


 
 




 
 


Thomas de Groot <tho### [at] degrootorg> wrote:
> That is an interesting idea... we should certainly follow up that line
> to see where it would get us.
We should  but I never really dug into that really great project deeply enough
to understand exactly how it all works. Maybe it's time.
> > I mean, even for now, we could probably just add some gentle black hole warps or
> > other warps to the basic granite pattern and introduce a little bit of
> > variation. I'm bad at implementing warps, but maybe the quartz veins could
> > benefit from some clever application of them.
> >
> Maybe. I am not sure what the black hole warp would really add to the
> turbulence warp already in place. Granites are not very turbulent by
> themselves and rather monotonous in fact.
They are, but you have those other patterns which have some size variation. It
might be nice to have some of that in the pattern as an option. I'm only
throwing it out there so we can play with it and either decide it has promise 
or discard it as "nope  not a good idea".
> Well, it appears we shall not have time to get bored or idle. ;)
Always so much to do. Never enough time, energy, or opportunity. Better that
than being idle and boring.
> In the meantime, I have started to write that piece of documentation you
> asked about. Steadily growing.
Thanks :)
Find attached a quick exploratory crackle experiment. The sum of 2 crackle
patterns of different scales, one with turbulence, then the whole thing with
some turbulence.
Post a reply to this message
Attachments:
Download 'cracklefunction.png' (877 KB)
Preview of image 'cracklefunction.png'


 
 




 
 


Op 04/06/2021 om 22:08 schreef Bald Eagle:
> Thomas de Groot <tho### [at] degrootorg> wrote:
>
>> That is an interesting idea... we should certainly follow up that line
>> to see where it would get us.
>
> We should  but I never really dug into that really great project deeply enough
> to understand exactly how it all works. Maybe it's time.
>
I have to dig up my old Geomorph code (20042005) in which I used
patterns (including crackle) in different functions to build isosurface
landscapes. It might inspire...
>
>>> I mean, even for now, we could probably just add some gentle black hole warps or
>>> other warps to the basic granite pattern and introduce a little bit of
>>> variation. I'm bad at implementing warps, but maybe the quartz veins could
>>> benefit from some clever application of them.
>>>
>> Maybe. I am not sure what the black hole warp would really add to the
>> turbulence warp already in place. Granites are not very turbulent by
>> themselves and rather monotonous in fact.
>
> They are, but you have those other patterns which have some size variation. It
> might be nice to have some of that in the pattern as an option. I'm only
> throwing it out there so we can play with it and either decide it has promise 
> or discard it as "nope  not a good idea".
>
I fully agree.
>> Well, it appears we shall not have time to get bored or idle. ;)
>
> Always so much to do. Never enough time, energy, or opportunity. Better that
> than being idle and boring.
>
>
>> In the meantime, I have started to write that piece of documentation you
>> asked about. Steadily growing.
>
> Thanks :)
>
>
> Find attached a quick exploratory crackle experiment. The sum of 2 crackle
> patterns of different scales, one with turbulence, then the whole thing with
> some turbulence.
>
Interesting result indeed. The "cells" are not looking "natural" enough
to my taste, but with enough tweaking...
It shows, imo, how we have to be careful with the amount of turbulence.

Thomas
Post a reply to this message


 
 




 
 


> Op 04/06/2021 om 22:08 schreef Bald Eagle:
>> Thomas de Groot <tho### [at] degrootorg> wrote:
>>
>>> That is an interesting idea... we should certainly follow up that line
>>> to see where it would get us.
>>
>> We should  but I never really dug into that really great project
>> deeply enough
>>
> I have to dig up my old Geomorph code (20042005) in which I used
> patterns (including crackle) in different functions to build isosurface
> landscapes. It might inspire...
>
>>
>>>> I mean, even for now, we could probably just add some gentle black
>>>> hole warps or
>>>> other warps to the basic granite pattern and introduce a little bit of
>>>> veins could
>>>> benefit from some clever application of them.
>>>>
>>> Maybe. I am not sure what the black hole warp would really add to the
>>> turbulence warp already in place. Granites are not very turbulent by
>>> themselves and rather monotonous in fact.
>>
>> They are, but you have those other patterns which have some size
>> throwing it out there so we can play with it and either decide it has
>> promise 
>> or discard it as "nope  not a good idea".
>>
> I fully agree.
>
>>> Well, it appears we shall not have time to get bored or idle. ;)
>>
>> Better that
>> than being idle and boring.
>>
>>
>>> In the meantime, I have started to write that piece of documentation you
>>> asked about. Steadily growing.
>>
>>
>>
>> crackle
>> patterns of different scales, one with turbulence, then the whole
>> thing with
>> some turbulence.
>>
> Interesting result indeed. The "cells" are not looking "natural" enough
> to my taste, but with enough tweaking...
>
> It shows, imo, how we have to be careful with the amount of turbulence.
>
>
To make your turbulence smoother, reducing the octave parameter could
help. It default at 6. So, maybe try with octave 3.
Next, you can also reduce the lambda. Default of 2. Make it closer to 1.
Finally, the omega could also get adjusted down from the default of 0.5.
A proposition :
octave 3
lambda 1.4
omega 0.25
This should make the turbulence much more wavy and smoother.
Post a reply to this message


 
 




 
 


Op 05/06/2021 om 16:55 schreef Alain Martel:
> To make your turbulence smoother, reducing the octave parameter could
> help. It default at 6. So, maybe try with octave 3.
>
> Next, you can also reduce the lambda. Default of 2. Make it closer to 1.
>
> Finally, the omega could also get adjusted down from the default of 0.5.
>
> A proposition :
> octave 3
> lambda 1.4
> omega 0.25
>
> This should make the turbulence much more wavy and smoother.
Yes indeed, and thanks for the reminder. Presently I have no time to
deal too much with this, but Bald Eagle will take that up quite probably :)
For now, I need to concentrate on that part of the docs I mentioned
earlier, and deal with a couple of little thorns in the macro code which
have not been dealt with fully to my satisfaction.

Thomas
Post a reply to this message


 
 




 

