| 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 |
greg |
2.5 |
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 |
greg |
2.2 |
|
| 21 |
greg |
1.2 |
A1 - optional multipier
|
| 22 |
greg |
2.5 |
A2,A3,A4 - X,Y,Z dimensions of axis-aligned box (in meters!)
|
| 23 |
greg |
1.1 |
}
|
| 24 |
greg |
1.2 |
{ local definitions }
|
| 25 |
|
|
boxprojection = abs(Dx)*A3*A4 + abs(Dy)*A2*A4 + abs(Dz)*A2*A3;
|
| 26 |
greg |
2.2 |
lboxprojection = ( noneg(abs(Px-Dx*Ts)-A2/2)*A3*A4 +
|
| 27 |
|
|
noneg(abs(Py-Dy*Ts)-A3/2)*A2*A4 +
|
| 28 |
|
|
noneg(abs(Pz-Dz*Ts)-A4/2)*A2*A3 ) / Ts;
|
| 29 |
greg |
1.1 |
|
| 30 |
|
|
flatcorr(v) = corr(v) / Rdot; { correction for flat sources }
|
| 31 |
|
|
corr(v) = if(AC-.5, A1*v, v); { multiplier correction }
|
| 32 |
greg |
1.2 |
boxcorr(v) = A1 * v / boxprojection; { correction for emitting box }
|
| 33 |
greg |
2.2 |
lboxcorr(v) = A1 * v / lboxprojection; { local box correction }
|
| 34 |
greg |
1.1 |
|
| 35 |
|
|
src_theta = Acos(Dz) / DEGREE; { 0-180 }
|
| 36 |
greg |
2.3 |
src_phi = mod( atan2(Dy, Dx) / DEGREE, 360 ); { 0-360 }
|
| 37 |
greg |
1.1 |
{ bilateral symmetry }
|
| 38 |
|
|
src_phi2 = tri( src_phi, 180 ); { 0-180 }
|
| 39 |
|
|
{ quadrilateral symmetry }
|
| 40 |
|
|
src_phi4 = tri( src_phi, 90 ); { 0-90 }
|
| 41 |
|
|
|
| 42 |
|
|
{ Type B photometry coordinates }
|
| 43 |
|
|
srcB_vert = atan( -Dx/Dz ) / DEGREE;
|
| 44 |
|
|
srcB_horiz = Asin(Dy) / DEGREE;
|
| 45 |
greg |
2.4 |
{ w/ symmetry }
|
| 46 |
|
|
srcB_vert2 = abs( srcB_vert );
|
| 47 |
greg |
1.1 |
srcB_horiz2 = abs( srcB_horiz );
|