POV-Ray : Newsgroups : povray.newusers : Stacking stones without overlapping : Re: Stacking stones without overlapping Server Time
16 May 2024 22:31:11 EDT (-0400)
  Re: Stacking stones without overlapping  
From: Ari
Date: 20 Jun 2017 15:10:00
Message: <web.59497214d8d105e99d2528170@news.povray.org>
"Bald Eagle" <cre### [at] netscapenet> wrote:
> dick balaska <dic### [at] buckosoftcom> wrote:
>
>
> > I, too, use a Java program to position grains. I found SDL to be
> > hideously slow when doing a 1600 x 1600 loop. ;)
> > http://www.buckosoft.com/tteoac/video/frames/ttfo0177.png
>
> It's always helpful when expediency is the goal -  to recognize the practical
> solutions and take the path of least resistance.
>
> > I love Sam's idea; pick a position and then alter the blob's shape and
> > size to fit the position.
>
> Yes, that's an interesting idea - well worth looking into to see how difficult
> that would be to do well.
>
> I was thinking something along the lines of this:
>
>
https://www.researchgate.net/figure/273284325_fig7_Figure-7-An-example-of-a-Voronoi-diagram-in-Laguerre-geometry-for-
a-
> set-of-multi-sized
>
> Where the spaces and centers are well defined, and then the sphere radii could
> be easily computed.  That would get one far along the path.  Although I think
> that the appropriate crackle metric and offset settings would get it all done
> lickety-split.

Hi, everyone.
I have been spending time searching on the internet and reading your guys'
information. However, I realized almost all of them required "some mathematical
background", especially Voronoi Diagram being shown the most frequently. I try
my best to understand them but I can't due to the lack of Maths background(I
only know some integration/sequence and differentiation from classes :( ). I
then try to work with an external program but I don't how to make use of it
well. (I installed the pyvoro in Python) So, I just went back to the basic now.
( Damn, I am stupid! Just want to cry in a corner) So far I just wrote this one:

#declare Grain = array[10000]   ;
#declare Nr = 0    ;
#declare Position = seed(100)  ;
#declare Size = seed(123)   ;
#while (Nr < 10000)
    sphere{<rand(Position), rand(Position), rand(Position)>, rand(Size)*.1
            pigment {color rgb<rand(Size), rand(Size), rand(Size)>} }
    #declare Grain[Nr] = sphere{<rand(Position), rand(Position),
rand(Position)>, rand(Size)*.1
            pigment {color rgb<rand(Size), rand(Size), rand(Size)>} }
    #declare Nr = Nr + 1;
#end

I think I will then try to develop it a little bit further according to the
'distance test formula' from the 'Pebbles' example. My idea now is to test every
Grain[Nr] vs Grain[Nr-1] Grain[Nr-2]......Grain[0] if their distance between two
centers is smaller than their sum of radii. It's 3 a.m. now here guys. I think I
might just sleep and work it out tomorrow. Thank you guys for helping me at
first but I think I have to say I am too stupid to understand them :'(.


Post a reply to this message

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