|
![](/i/fill.gif) |
Wasn't it Piotr 'utak3r' Borys who wrote:
>Hi all,
>
>First, welcome all here, as it's my first post :)
>Now my problem: I've made a isosurface from sin(x) and then with abs
>function made it a box:
>
>#declare Thickness = 0.15;
>#declare WaveHeight = 0.15;
>#declare fn = function(x,y,z) { y - sin(x*pi)*WaveHeight }
>
>#declare wave_box =
>isosurface {
> function { abs(fn(x,y+Thickness,z))-Thickness }
> contained_by { box { <-1,-0.5,-1>, < 1, 0.5, 1> } }
> max_gradient 0.8
>}
>
>all is great, it works :)
>BUT - it would be _much_ better if it had rounded edges... but how the
>hell do it? I wonder if there's a way to distort for example
>f_rounded_box with sin(x)?...
Here's a f_rounded_box distorted by sin(x*pi)*WaveHeight:
#declare Thickness = 0.15;
#declare WaveHeight = 0.15;
#declare Roundness = 0.1;
#include "functions.inc"
#declare wave_box =
isosurface {
function { f_rounded_box(x,(y - sin(x*pi)*WaveHeight),z,Roundness,1,
Thickness,1)}
contained_by { box { <-1,-0.5,-1>, < 1, 0.5, 1> } }
max_gradient 1.1
}
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
![](/i/fill.gif) |