[Radiance-general] mkillum-generated distribution files

Greg Ward gregoryjward at gmail.com
Wed Jul 21 11:27:12 PDT 2010


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

> From: "Lars O. Grobe" <grobe at gmx.net>
> 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



More information about the Radiance-general mailing list