Source code for photonmap.Common.Outils

from photonmap import Vec3

#This module consist the common functions using in this project 

[docs] def wavelength2Rgb(w: int) -> Vec3: """ Convert a wavelength between 400 - 800 nm to RGB color Parameters ---------- w: int The wavelength to convert Returns ------- RGB: Vec3 A Vec3 structure representing an RGB color. """ if 380.0 <= w < 440: red = -(w - 440.0) / (440.0 - 380.0) green = 0.0 blue = 1.0 elif 440.0 <= w < 490.0: red = 0.0 green = (w - 440.0) / (490.0 - 440.0) blue = 1.0 elif 490.0 <= w < 510.0: red = 0.0 green = 1.0 blue = -(w - 510.0) / (510.0 - 490.0) elif 510.0 <= w < 580.0: red = (w - 510.0) / (580.0 - 510.0) green = 1.0 blue = 0.0 elif 580.0 <= w < 645.0: red = 1.0 green = -(w - 645.0) / (645.0 - 580.0) blue = 0.0 elif 645.0 <= w < 781.0: red = 1.0 green = 0.0 blue = 0.0 else: red = 1.0 green = 1.0 blue = 1.0 return Vec3(red, green, blue)
[docs] def flatten(lt: list) -> list: """ Flattens a list Parameters ---------- lt: list a list Returns --------- l: list the flattened list """ return [item for sublist in lt for item in sublist]