home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 8
/
CDASC08.ISO
/
NEWS
/
RADIANCE
/
LIB
/
COVELIGH.CAL
< prev
next >
Wrap
Text File
|
1993-10-07
|
2KB
|
50 lines
{
Compute distribution on ceiling or wall of cove lighting
system employing linear fixtures.
10Feb91 Greg Ward
This is the closed-form solution to the integral of
illumination from a one-dimensional extended source.
Solution assumes that both fixture endpoints are in front
of surface element -- negative values may result if this
assumption is wrong!
Multiply cove_mult by radiant flux per unit source length
times cove surface reflectance. To account for interreflection
with room surfaces, multiply this value by 1/(1-RcRr), where
Rc is the average ceiling reflectance and Rr is the average
reflectance of the floor and walls (biased towards the floor).
A1-A6 - Begin and end point coord's of first fixture
A7-A12, A13-A18, ... - Coord's for second, third, ... fixtures
}
cove_mult = cove_sum(arg(0)/6, 1);
cove_sum(n, i0) = if(n-.5,
cove_coef(
(arg(i0)-Px)*Nx
+(arg(i0+1)-Py)*Ny
+(arg(i0+2)-Pz)*Nz,
(arg(i0+3)-arg(i0))*Nx
+(arg(i0+4)-arg(i0+1))*Ny
+(arg(i0+5)-arg(i0+2))*Nz,
sq(arg(i0)-Px)
+sq(arg(i0+1)-Py)
+sq(arg(i0+2)-Pz),
(Px-arg(i0))*(arg(i0+3)-arg(i0))
+(Py-arg(i0+1))*(arg(i0+4)-arg(i0+1))
+(Pz-arg(i0+2))*(arg(i0+5)-arg(i0+2)),
sq(arg(i0+3)-arg(i0))
+sq(arg(i0+4)-arg(i0+1))
+sq(arg(i0+5)-arg(i0+2)))
+ cove_sum(n-1, i0+6),
0);
cove_coef(a, b, g, h, k) = 1/Sqrt(g*k-h*h)/(2*PI*PI*PI)
*( (a*k+b*h)/Sqrt(g*k-h*h)
*(atan((k-h)/Sqrt(g*k-h*h))+atan(h/Sqrt(g*k-h*h)))
+ (a*k+b*h-a*h-b*g)/(k-2*h+g)
+ (a*h+b*g)/g );