ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cv/source.cal
(Generate patch)

Comparing ray/src/cv/source.cal (file contents):
Revision 1.1 by greg, Thu Aug 22 08:43:46 1991 UTC vs.
Revision 2.4 by greg, Wed Oct 14 13:21:09 1992 UTC

# Line 10 | Line 10
10          srcB_vert and srcB_horiz are angles
11          used in type B photometry.
12  
13 <        A1      - optional multipier
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 = norm_deg( atan2(Dy, Dx) / DEGREE );   { 0-360 }
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  
26 norm_deg(d) : if( d, d, d+360 );
27
39                                  { Type B photometry coordinates }
40   srcB_vert = atan( -Dx/Dz ) / DEGREE;
41   srcB_horiz = Asin(Dy) / DEGREE;
42 <                                { w/ bilateral symmetry }
42 >                                { w/ symmetry }
43 > srcB_vert2 = abs( srcB_vert );
44   srcB_horiz2 = abs( srcB_horiz );

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines