Hello,
I ran into some questions I couldn’t find answers and came here to ask help.
What I’m doing is using vwrays and rtrace and making an image of light intensity with numpy array and matplotlib in python. And I’m doing that by the fact that vwrays generates rays from left to right and top to bottom. And the aim is to evalute the reflected sunlight on the surfaces of interest. Here are the questions:
When calculating luminous intensity by multiplying the surface area of each pixel by the luminance, I’ve noticed that the luminance values obtained from rtrace seem to assume that the surface normal is aligned with the ray vector. As a result, in regard to m2 in the unit [cd/m2], the angle between the ray and the normal vector of the surface isn’t factored by cosine of it. is my understanding correct?
when the sun is at zenith with default brightness model, using 179 lm/W of efficacy, I got the horizontal illuminance around 75klx. However, I’m uncertain about the accuracy of this result and would like to confirm where the sun brightness model originates from.
if I’m only interested in reflected luminance value of the sun on the surface in the end, can I just put horizontal illuminance at -R option of gensky, so that I could skip multiplication and division by 179 in the calculation? (I have a sun brightness model which tells the illuminance value at each time of the year and to use the -R option I would have to divide the desired horizontal illuminance by 179 and in the end multiply the radiance value by 179 again)
According to Evalgare it’s capable of cie veiling glare assessment. I wonder whether it consider the each ray’s theta angle and contribution of each ray to the illuminance on the viewer’s eye, or just using the average theta value of the glare source and illuminance.
I will use specular surface and non specular by BSDF data, does -dj option of rtrace affect the reflected luminance value?
Also, when specular reflection occurs, illuminance on the normal surface is higher than (the direct normal illuminance of the sun)*(reflectance at the incidence angle). Is it correct?
For example, I put a mirror surface horizontally at origin and sun in the direction of (-0.966, 0, 0.259). And I get 3.212116e+02 for RGB each by echo ’ 0 0 1 -0.966 0 0.259 ’ | rtrace -h -I -ab 3 o15.oct which was intended to measuredirect normal illuminance and 2.987190e+02 by echo ’ 0.966 0 0.259 -0.966 0 -0.259 ’ | rtrace -h -I -ab 3 o15.oct, which was intended for reflected light. Because the reflectance at that incidence angle was set to be 50 %.
Thank you very much for taking the time to read through my questions.
Welcome to our forum. That’s a lot of questions! I can start, and hopefully others can help:
The surface area of a pixel is not the actual surface area as you note. I am not sure what you are attempting to compute, as luminous intensity requires knowing the projected surface area of the source, and you don’t know the source associated with each pixel. If you state your problem a little more clearly with regards to how you plan to use these values, it will be easier to guide you. Ray values are in units of radiance, which is watts/meter^2/steradian.
The sun brightness model is very simple-minded, and you are better off using the -R option if you have a specific intensity you wish to work with. You should use the 179 divisor on the way in if you are starting with direct solar illuminance. If you apply the same multiplier in getting back to photometric units, it cancels out.
I don’t know enough about evalglare to answer your question #4.
It can affect it, depending on the scattering properties of the surface, the angle of view, and the size of the light source.
I am not sure about your question #5, but it seems to indicate a misunderstanding of photometric units. Illuminance is unaffected by specularity, but the direction of incident and observed light does affect luminance. The relationship between luminance and illuminance is highly dependent on the surface BSDF, to the point where the luminance for a perfect mirror can be much, much greater than the illuminance.
Evalglare uses each glare source (gs) pixel to calculate the illuminance induced by the glare source (considering the solid angle from each gs-pixel and the cosine of the angle between image center and center of each pixel. For calculating the veiling luminance contribution from each gs it takes the teta angle of the center of each gs. The total veiling luminance is assumed to be the sum of the veiling luminances of each gs.
Thank you for your welcome and also clear answers! It was a big help.
In response to your explanation for my first question, I’ve devised an algorithm to calculate the surface area corresponding to each pixel so that I could calculate luminous intensity by multiplying luminance by surface area of each pixel. And in the multiplication when I used surface area normal to the ray like the one in the picture below, I obtained more plausible values compared to using the the surface area of the geometry model (the real surface in the picture). Therefore, I inferred the luminance is not the luminance of the actual plane but a virtual normal plane at the distance. Is it correct?
And in regard to the last answer, in some previous studies to assess veiling luminance, the authors assumed (solar illuminance at the observer’s eye) = (direct normal solar illuminance) * (reflectance of the material) under specular reflection. And when tested in Radiance, that relation is reproduced in luminance but not in illuminance. In the case of illuminance, it often appears to be higher than the value of direct normal illuminance multiplied by reflectance. By the way I used ‘rtrace -I’ command to compare the illuminance on the plane. Could this discrepancy be because, physically, that relation doesn’t make sense, or did I overlook something?
Luminance/radiance does not change with angle to the surface for a Lambertian reflector. The equation for luminous intensity uses the visible projected surface area, not the total surface area, which means it considers the fraction of surface area directed at the sensor, and this is why you get a more accurate answer with the normal surface to the view direction.
The formula for veiling luminance is either incorrect or not fully translated. I don’t know which paper you are referring to, so it’s difficult to say more than that. The luminance of a Lambertian (i.e., completely non-specular) surface is (Illuminance)*(reflectance)/pi, but there is no such relation for specular surfaces.