/usr/share/radiance/noise3.cal is in radiance-materials 4R1+20120125-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | frac(x)=x-floor(x);
hermite(p0,p1,r0,r1,t) = p0 * ((2*t-3)*t*t+1) +
p1 * (-2*t+3)*t*t +
r0 * (((t-2)*t+1)*t) +
r1 * ((t-1)*t*t);
rand3a(x,y,z) = 1-2*rand(.69692*x+.35084*y+.26765*z);
rand3b(x,y,z) = 1-2*rand(.05393*x+.96196*y+.28617*z);
rand3c(x,y,z) = 1-2*rand(.04234*x+.46180*y+.54550*z);
rand3d(x,y,z) = 1-2*rand(.07211*x+.76411*y+.95567*z);
noise3(x,y,z) = noise_3( floor(x),frac(x),ceil(x),
floor(y),frac(y),ceil(y),
floor(z),frac(z),ceil(z) );
noise_3(xl,xd,xu,yl,yd,yu,zl,zd,zu) =
hermite(
hermite(
hermite(rand3d(xl,yl,zl),
rand3d(xu,yl,zl),
rand3a(xl,yl,zl),
rand3a(xu,yl,zl),
xd),
hermite(rand3d(xl,yu,zl),
rand3d(xu,yu,zl),
rand3a(xl,yu,zl),
rand3a(xu,yu,zl),
xd),
(1-xd)*rand3b(xl,yl,zl)+
xd*rand3b(xu,yl,zl),
(1-xd)*rand3b(xl,yu,zl)+
xd*rand3b(xu,yu,zl),
yd),
hermite(
hermite(rand3d(xl,yl,zu),
rand3d(xu,yl,zu),
rand3a(xl,yl,zu),
rand3a(xu,yl,zu),
xd),
hermite(rand3d(xl,yu,zu),
rand3d(xu,yu,zu),
rand3a(xl,yu,zu),
rand3a(xu,yu,zu),
xd),
(1-xd)*rand3b(xl,yl,zu)+
xd*rand3b(xu,yl,zu),
(1-xd)*rand3b(xl,yu,zu)+
xd*rand3b(xu,yu,zu),
yd),
(1-yd)*((1-xd)*rand3c(xl,yl,zl) +
xd*rand3c(xu,yl,zl)) +
yd*((1-xd)*rand3c(xl,yu,zl) +
xd*rand3c(xu,yu,zl)),
(1-yd)*((1-xd)*rand3c(xl,yl,zu) +
xd*rand3c(xu,yl,zu)) +
yd*((1-xd)*rand3c(xl,yu,zu) +
xd*rand3c(xu,yu,zu)),
zd);
|