ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cv/source.cal
Revision: 2.4
Committed: Wed Oct 14 13:21:09 1992 UTC (31 years, 5 months ago) by greg
Branch: MAIN
Changes since 2.3: +2 -1 lines
Log Message:
added symmetric coordinates for type B photometry

File Contents

# User Rev Content
1 greg 1.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 greg 2.2 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 greg 1.2 A1 - optional multipier
19     A2,A3,A4 - X,Y,Z dimensions of axis-aligned box
20 greg 1.1 }
21 greg 1.2 { local definitions }
22     boxprojection = abs(Dx)*A3*A4 + abs(Dy)*A2*A4 + abs(Dz)*A2*A3;
23 greg 2.2 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 greg 1.1
27     flatcorr(v) = corr(v) / Rdot; { correction for flat sources }
28     corr(v) = if(AC-.5, A1*v, v); { multiplier correction }
29 greg 1.2 boxcorr(v) = A1 * v / boxprojection; { correction for emitting box }
30 greg 2.2 lboxcorr(v) = A1 * v / lboxprojection; { local box correction }
31 greg 1.1
32     src_theta = Acos(Dz) / DEGREE; { 0-180 }
33 greg 2.3 src_phi = mod( atan2(Dy, Dx) / DEGREE, 360 ); { 0-360 }
34 greg 1.1 { 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 greg 2.4 { w/ symmetry }
43     srcB_vert2 = abs( srcB_vert );
44 greg 1.1 srcB_horiz2 = abs( srcB_horiz );