Open FraserGreenroyd opened 5 years ago
As with issue #970 the overall light transmittance of a material is just a weighting applied to different wavelengths based on human perception of colours.
The formula for which (originally here) is:
CompositeTransmittance(double TransmittanceRed, double TransmittanceGreen, double TransmittanceBlue){
return 0.265 * TransmittanceRed+ 0.670 * TransmittanceGreen+ 0.065 * TransmittanceBlue;
}
So for RGB transmittances of 0.2, 0.3, and 0.4, we'd get an overall transmittance of 0.28.
Additionally, I found another potentially useful method that might be worth including while adding this one - material transmissivity. This is the amount of light not absorbed in one traversal of the material. Transmittance - the value usually measured - is the total light transmitted through the pane including multiple reflections.
LightTransmissivity(double LightTransmittance){
return (Math.Sqrt(0.8402528435 + 0.0072522239 * Math.Pow(LightTransmittance, 2)) - 0.9166530661) / 0.0036261119 / LightTransmittance;
}
Related to https://github.com/BHoM/BHoM/issues/484
If a user has provided a fragment for light transmittance by red/green/blue values, there should be a Query method for obtaining a single transmittance value from these.