mkillum-generated distribution files

Hi,

I am trying to understand the output of mkillum. The dat-files are written in Radiance's standard format. So I should be able to understand the header. However I am not really sure whether I am doing the right thing here. Take an example:

···

--
2
1.041667 0.041667 13
0.000000 6.283185 39

  1.504918e+00 1.530097e+00 1.525389e+00 1.501599e+00 1.505246e+00
  1.461270e+00 1.463038e+00 1.489136e+00 1.481565e+00 1.451201e+00
  1.374334e+00 1.296027e+00 1.410817e+00 1.343876e+00 1.477319e+00
  1.365996e+00 1.366200e+00 1.397315e+00 1.407394e+00 1.484092e+00
  1.482776e+00 1.570183e+00 1.525340e+00 1.572320e+00 1.561935e+00
  1.576046e+00 1.486079e+00 1.629394e+00 1.528797e+00 1.621227e+00
[...]
--
My understanding:

1) I have a two-dimensional array (line 1) of 13 rows and 39 columns (lines 2, 3), right?

2) The rows are counted down from 1 to 0 (the 0.041667 probably is some error to avoid 0), thus in steps of 1/13=-0.0769 .

3) The columns are counted up from 0 to 2*pi in steps of 6.2832/39=0.1611 .

4) This means that the columns represent the "azimuth angle" (the angle in the plane of the illum surface) from 0 to 2*pi radians, the rows are related to.... what? If it were the elevation angle (the angle to the surface normal of the mkillum surface), why is it not counted beyond 1 radians? Or what else is it?

In illum.cal which is referred to by the illum-modifier generated by mkillum, I find these comments:
--
For the hemispherical case, A1-A9 are the unit vectors for the
hemisphere's coordinate system:

il_alth - Altitude (1 to 0) for hemispherical coordinates
il_azih - Azimuth (0 to 2*PI) for hemisphere
--
It would be great if anyone could shed some light onto this...

Cheers, Lars.

OK, I have a few moments to take a quick stab at this... Responses inline:

From: "Lars O. Grobe" <[email protected]>
Date: July 20, 2010 2:07:18 AM PDT

Hi,

I am trying to understand the output of mkillum. The dat-files are written in Radiance's standard format. So I should be able to understand the header. However I am not really sure whether I am doing the right thing here. Take an example:
--
2
1.041667 0.041667 13
0.000000 6.283185 39

1.504918e+00 1.530097e+00 1.525389e+00 1.501599e+00 1.505246e+00
1.461270e+00 1.463038e+00 1.489136e+00 1.481565e+00 1.451201e+00
1.374334e+00 1.296027e+00 1.410817e+00 1.343876e+00 1.477319e+00
1.365996e+00 1.366200e+00 1.397315e+00 1.407394e+00 1.484092e+00
1.482776e+00 1.570183e+00 1.525340e+00 1.572320e+00 1.561935e+00
1.576046e+00 1.486079e+00 1.629394e+00 1.528797e+00 1.621227e+00
[...]
--
My understanding:

1) I have a two-dimensional array (line 1) of 13 rows and 39 columns (lines 2, 3), right?

Right.

2) The rows are counted down from 1 to 0 (the 0.041667 probably is some error to avoid 0), thus in steps of 1/13=-0.0769 .

Centroids are counted down frmo 1.041667 to 0.041667. The first value is greater than 1 to trick linear interpolation at the pole (theta=0) into making all azimuthal values equal there. The data for the first column is synthesized so interpolation at theta=0 gets the average of all second column values. The final value of 0.041667 is the centroid of the lowest angle (theta=1.529 radians). It's not possible to measure anything at theta=pi/2.

3) The columns are counted up from 0 to 2*pi in steps of 6.2832/39=0.1611 .

Correct.

4) This means that the columns represent the "azimuth angle" (the angle in the plane of the illum surface) from 0 to 2*pi radians, the rows are related to.... what? If it were the elevation angle (the angle to the surface normal of the mkillum surface), why is it not counted beyond 1 radians? Or what else is it?

As defined in illum.cal, the altitude is equal to cos(theta), which is conveniently the same as the dot product of an incoming ray with the surface normal. This is used because an even subdivision of this parameter gives a equal-area projection of regions corresponding to even energy subdivision on a diffuse planar surface.

In illum.cal which is referred to by the illum-modifier generated by mkillum, I find these comments:
--
For the hemispherical case, A1-A9 are the unit vectors for the
hemisphere's coordinate system:

il_alth - Altitude (1 to 0) for hemispherical coordinates
il_azih - Azimuth (0 to 2*PI) for hemisphere
--
It would be great if anyone could shed some light onto this...

I hope these hints are helpful.

-Greg

Hi!

I hope these hints are helpful.

This was very helpful Greg, thank you!

Lars.