POV-Ray : Newsgroups : povray.general : Fast way to subtract multiple spheres? : Re: Fast way to subtract multiple spheres? Server Time
2 Aug 2024 04:16:56 EDT (-0400)
  Re: Fast way to subtract multiple spheres?  
From: Zeger Knaepen
Date: 12 Jan 2005 14:46:18
Message: <41e57e8a@news.povray.org>
"Mike Raiford" <mra### [at] hotmailcom> wrote in message
news:41e57ae3$1@news.povray.org...
> Okay,
>
> I have a box. I want to subtract hundreds of spheres from said box.
>
> I have attempted 2 methods ...
>
> 1) CSG. Reasonable up to about 100, beyond 100, painful. Cand be
> somewhat mitigated by bounding the final object, but that particular
> object's render speed is unacceptably slow. And before you point me to
> it... yes, I am aware of the holes tutorial. The object is transparent
> and a merge does no better.
>
> 2) Isosurface. Quite simply, I'd recommend jumping off a building first.
> Hundreds of f_sphere calls and calls to min() to create the union of
> spheres is really too much to ask of POV-Ray. Render time is painful to
> excruciating.
>
> One thought I haven't entertained is... is there a function that will
> give me random spherical areas w/o the high cost of a few thousand
> function calls per sample?

crackle-pattern with a form of <1,0,0> will give you something that looks more
or less like a bunch of randomly placed intersecting spheres.

cu!
--
camera{location-z*3}#macro G(b,e)b+(e-b)*(C/50)#end#macro L(b,e,k,l)#local C=0
;#while(C<50)sphere{G(b,e),.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1
;#end#end L(y-x,y,x,x+y)L(y,-x-y,x+y,y)L(-x-y,-y,y,y+z)L(-y,y,y+z,x+y)L(0,x+y,
<.5,1,.5>,x)L(0,x-y,<.5,1,.5>,x)               // ZK http://www.povplace.be.tf


Post a reply to this message

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