|
![](/i/fill.gif) |
"Warp" <war### [at] tag povray org> wrote in message news:3fa7a09a@news.povray.org...
> Christoph Hormann <chr### [at] gmx de> wrote:
> > Actually you should use sqrt() instead of pow(,0.5).
>
> How about simply squaring the radius (R*R) instead of using the slow
> sqrt() function?-)
He's got a point.... in which case it would make sense to declare R as the
square of whatever value you want to use?
So, Chris's example becomes:
#declare R=2*2;
#declare FSphere=function {(x*x+y*y+z*z) - R}
Post a reply to this message
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tom Melly <tom### [at] tomandlu co uk> wrote:
> #declare R=2*2;
> #declare FSphere=function {(x*x+y*y+z*z) - R}
Having the radius as parameter has certain advantages, though.
For instance, the radius does not have to be constant thorough the
entire surface of the sphere... :)
Example:
#declare FSphere = function(x,y,z,R) { (x*x+y*y+z*z) - R*R }
isosurface
{ function { FSphere(x,y,z, 2-.5*f_noise3d(x*5,y*5,z*5)) }
...
}
--
plane{-x+y,-1pigment{bozo color_map{[0rgb x][1rgb x+y]}turbulence 1}}
sphere{0,2pigment{rgbt 1}interior{media{emission 1density{spherical
density_map{[0rgb 0][.5rgb<1,.5>][1rgb 1]}turbulence.9}}}scale
<1,1,3>hollow}text{ttf"timrom""Warp".1,0translate<-1,-.1,2>}// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp wrote:
>
> How about simply squaring the radius (R*R) instead of using the slow
> sqrt() function?-)
Because that function would have a non-constant gradient. With the (way
too large) container box{-5,5} you need quite a high max_gradient to
correctly render it -> it will be slower than with sqrt().
Of course using the internal function f_sphere() would be even faster.
Christoph
--
POV-Ray tutorials, include files, Sim-POV,
HCR-Edit and more: http://www.tu-bs.de/~y0013390/
Last updated 25 Oct. 2003 _____./\/^>_*_<^\/\.______
Post a reply to this message
|
![](/i/fill.gif) |