# How Lighthouses Work 4, Exercise 1: reflector and lens shares of a lamp's light # Intensities and ranges when 20%, 50% and 85% of the light is focused. import math NM = 1852.0 def transmissivity(visibility_nm): return 0.05 ** (1 / visibility_nm) def luminous_range_nm(intensity_cd, visibility_nm, threshold_lx=2e-7): t = transmissivity(visibility_nm) lo, hi = 0.01, 200.0 for _ in range(100): mid = (lo + hi) / 2 e = intensity_cd * t ** mid / (mid * NM) ** 2 if e > threshold_lx: lo = mid else: hi = mid return (lo + hi) / 2 def geographic_range_nm(light_m, eye_m): return 3.86 * (math.sqrt(light_m) + math.sqrt(eye_m)) / 1.852 # Exercise 1: reflector and lens shares of a lamp's light # Compare the intensities and ranges implied by 20%, 50% and 85% of the light being focused. REFLECTOR_CD = 1000.0 # assumed intensity at a 20% share for vis in (5, 10, 20): for name, share in (("Reflector 20%", 0.20), ("Reflector 50%", 0.50), ("Lens 85%", 0.85)): cd = REFLECTOR_CD * share / 0.20 print(vis, "nm visibility", name, round(cd), "cd", round(luminous_range_nm(cd, vis), 1), "nm") print("Lens over reflector:", round(0.85 / 0.20, 2), "x intensity") for vis in (5, 10, 20): print(vis, "nm: range ratio", round(luminous_range_nm(4250, vis) / luminous_range_nm(1000, vis), 2)) # How many 1000 cd reflector lamps does one lens equal (just by intensity)? print("Lamps needed:", 0.85 / 0.20) # Output: # 5 nm visibility Reflector 20% 1000 cd 6.1 nm # 5 nm visibility Reflector 50% 2500 cd 7.1 nm # 5 nm visibility Lens 85% 4250 cd 7.7 nm # 10 nm visibility Reflector 20% 1000 cd 9.4 nm # 10 nm visibility Reflector 50% 2500 cd 11.2 nm # 10 nm visibility Lens 85% 4250 cd 12.4 nm # 20 nm visibility Reflector 20% 1000 cd 13.7 nm # 20 nm visibility Reflector 50% 2500 cd 17.0 nm # 20 nm visibility Lens 85% 4250 cd 19.0 nm # Lens over reflector: 4.25 x intensity # 5 nm: range ratio 1.27 # 10 nm: range ratio 1.32 # 20 nm: range ratio 1.39 # Lamps needed: 4.25 # # The columns are the visibility, the source, its intensity in candela (assumed 1,000 cd at the # 20% share) and its nominal range. The lens, with 4.25 times the intensity, gets 1.27 times the # range at 5 nm visibility, 1.32 times at 10 nm and 1.39 times at 20 nm: the same lesson as How # Lighthouses Work 3, that range grows far more slowly than intensity. Matching the lens with # reflector lamps would take about four of them (4.25 by intensity), which is the "factor of four" # the lighthouse article quotes for the first Fresnel lens at Cordouan.