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. |
6 |
> |
Theta is measured from the negative z-axis. |
7 |
> |
Phi is measured from the positive x-axis (0 degrees) |
8 |
> |
towards the negative y-axis (90 degrees). |
9 |
|
|
10 |
|
srcB_vert and srcB_horiz are angles |
11 |
|
used in type B photometry. |
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 |
+ |
The dimensions of the box, which must be aligned with |
18 |
+ |
the x,y,z axes, are given in meters regardless of the |
19 |
+ |
units being used in the scene file. |
20 |
|
|
21 |
|
A1 - optional multipier |
22 |
< |
A2,A3,A4 - X,Y,Z dimensions of axis-aligned box |
22 |
> |
A2,A3,A4 - X,Y,Z dimensions of axis-aligned box (in meters!) |
23 |
|
} |
24 |
|
{ local definitions } |
25 |
|
boxprojection = abs(Dx)*A3*A4 + abs(Dy)*A2*A4 + abs(Dz)*A2*A3; |
33 |
|
lboxcorr(v) = A1 * v / lboxprojection; { local box correction } |
34 |
|
|
35 |
|
src_theta = Acos(Dz) / DEGREE; { 0-180 } |
36 |
< |
src_phi = mod( atan2(Dy, Dx) / DEGREE, 360 ); { 0-360 } |
36 |
> |
src_phi = mod( Atan2(Dy, -Dx) / DEGREE, 360 ); { 0-360 } |
37 |
|
{ bilateral symmetry } |
38 |
|
src_phi2 = tri( src_phi, 180 ); { 0-180 } |
39 |
|
{ quadrilateral symmetry } |
42 |
|
{ Type B photometry coordinates } |
43 |
|
srcB_vert = atan( -Dx/Dz ) / DEGREE; |
44 |
|
srcB_horiz = Asin(Dy) / DEGREE; |
45 |
< |
{ w/ bilateral symmetry } |
45 |
> |
{ w/ symmetry } |
46 |
> |
srcB_vert2 = abs( srcB_vert ); |
47 |
|
srcB_horiz2 = abs( srcB_horiz ); |