home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 8
/
CDASC08.ISO
/
NEWS
/
RADIANCE
/
LIB
/
SOURCE.CAL
< prev
next >
Wrap
Text File
|
1993-10-07
|
1KB
|
44 lines
{ SCCSid "@(#)source.cal 2.3 8/18/92 LBL" }
{
Source distribution coordinates (degrees).
Theta is measured from the negative z-axis,
phi is measured from the positive x-axis
according to the right-hand rule.
srcB_vert and srcB_horiz are angles
used in type B photometry.
boxcorr function corrects for distribution modeled
with a rectangular box. lboxcorr provides a more
accurate calculation for nearby surfaces, but requires
that the source box be centered at the origin.
A1 - optional multipier
A2,A3,A4 - X,Y,Z dimensions of axis-aligned box
}
{ local definitions }
boxprojection = abs(Dx)*A3*A4 + abs(Dy)*A2*A4 + abs(Dz)*A2*A3;
lboxprojection = ( noneg(abs(Px-Dx*Ts)-A2/2)*A3*A4 +
noneg(abs(Py-Dy*Ts)-A3/2)*A2*A4 +
noneg(abs(Pz-Dz*Ts)-A4/2)*A2*A3 ) / Ts;
flatcorr(v) = corr(v) / Rdot; { correction for flat sources }
corr(v) = if(AC-.5, A1*v, v); { multiplier correction }
boxcorr(v) = A1 * v / boxprojection; { correction for emitting box }
lboxcorr(v) = A1 * v / lboxprojection; { local box correction }
src_theta = Acos(Dz) / DEGREE; { 0-180 }
src_phi = mod( atan2(Dy, Dx) / DEGREE, 360 ); { 0-360 }
{ bilateral symmetry }
src_phi2 = tri( src_phi, 180 ); { 0-180 }
{ quadrilateral symmetry }
src_phi4 = tri( src_phi, 90 ); { 0-90 }
{ Type B photometry coordinates }
srcB_vert = atan( -Dx/Dz ) / DEGREE;
srcB_horiz = Asin(Dy) / DEGREE;
{ w/ bilateral symmetry }
srcB_horiz2 = abs( srcB_horiz );