ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cv/source.cal
Revision: 2.3
Committed: Tue Aug 18 13:23:14 1992 UTC (31 years, 7 months ago) by greg
Branch: MAIN
Changes since 2.2: +1 -2 lines
Log Message:
eliminated norm_deg() funtion

File Contents

# Content
1 { SCCSid "$SunId$ LBL" }
2
3 {
4 Source distribution coordinates (degrees).
5
6 Theta is measured from the negative z-axis,
7 phi is measured from the positive x-axis
8 according to the right-hand rule.
9
10 srcB_vert and srcB_horiz are angles
11 used in type B photometry.
12
13 boxcorr function corrects for distribution modeled
14 with a rectangular box. lboxcorr provides a more
15 accurate calculation for nearby surfaces, but requires
16 that the source box be centered at the origin.
17
18 A1 - optional multipier
19 A2,A3,A4 - X,Y,Z dimensions of axis-aligned box
20 }
21 { local definitions }
22 boxprojection = abs(Dx)*A3*A4 + abs(Dy)*A2*A4 + abs(Dz)*A2*A3;
23 lboxprojection = ( noneg(abs(Px-Dx*Ts)-A2/2)*A3*A4 +
24 noneg(abs(Py-Dy*Ts)-A3/2)*A2*A4 +
25 noneg(abs(Pz-Dz*Ts)-A4/2)*A2*A3 ) / Ts;
26
27 flatcorr(v) = corr(v) / Rdot; { correction for flat sources }
28 corr(v) = if(AC-.5, A1*v, v); { multiplier correction }
29 boxcorr(v) = A1 * v / boxprojection; { correction for emitting box }
30 lboxcorr(v) = A1 * v / lboxprojection; { local box correction }
31
32 src_theta = Acos(Dz) / DEGREE; { 0-180 }
33 src_phi = mod( atan2(Dy, Dx) / DEGREE, 360 ); { 0-360 }
34 { bilateral symmetry }
35 src_phi2 = tri( src_phi, 180 ); { 0-180 }
36 { quadrilateral symmetry }
37 src_phi4 = tri( src_phi, 90 ); { 0-90 }
38
39 { Type B photometry coordinates }
40 srcB_vert = atan( -Dx/Dz ) / DEGREE;
41 srcB_horiz = Asin(Dy) / DEGREE;
42 { w/ bilateral symmetry }
43 srcB_horiz2 = abs( srcB_horiz );