|
|
"Marc-Hendrik Bremer" <Mar### [at] t-onlinede> wrote in message
news:3bf392cd@news.povray.org...
>
> Redbeard schrieb in Nachricht <3bf3299a$1@news.povray.org>...
>
> You could use trace() for this. To determine if a given place (get it by
> using rand() f.e.) for a particle is already occupied by another particle,
> you could trace() from the centre of that particle in "all" directions (the
> more rays you shoot , the more accurate are your results) at the union of
> the other particles. You'll get a bunch of intersection points. If all
> intersection points are further away of the centre than the particle is
> wide, you know that you can use that place. If not - try another one.
>
> That's the way I would try it (never did, though).
>
> Marc-Hendrik
Unfortunately, I don't know the shape of my particle. The center of the
bounding box may or may not be within the object. This may work about on equal
level with my method, though, which uses inside(). I'll have to run some tests
to see which is more efficient.
Michael
--
#declare R=<8,4,.6>/3;#declare C=function{pattern{object{text{ttf"crystal.ttf"
"MDJ"1,0translate-R/4}}}}camera{location-z*30}box{-R,R pigment{rgbf 1}interior
{media{emission.1density{function{C(x,y,z)}density_map{[0mandel 50color_map{[0
rgb 0][.2rgb x][1rgb x+y]}interior 1,1.5scale 60translate<-33.75,2.85>exponent
4][1rgb<2,2>]}}}}scale 24hollow}// (c) 2001 MDJohnson red### [at] wvadelphianet
Post a reply to this message
|
|