Viewing a single comment thread. View all comments

thickskull521 t1_iykp5ot wrote

Hijacking top comment to expand into the RGB part of OP's questions, and because I wanted to chime in that L*a*b* color space is also my favorite color space, because it is cartesian, square, and normalized: 1 unit in a certain direction is as equally perceivable (to human eyes) as 1 unit in another direction. Therefore, the difference in color between two objects (decmc) can be calculated using the Pythagorean theorem.

The "human perception" part is important. All these functions are defined based on how the human eye detects light, and how the human brain calculates color based on that information. The weighing functions can give similar solutions from different sources... For example, lemons and bananas look like the same color to us, but their absolute spectras are wildly different.

Now here's the thing. An RGB display is sortof backwards from how a human eye perceives color. They don't emit a nice spectrum... they emit little bands near defined red, green, and blue wavelengths. But, their emission bands stimulate human eyes good enough to spoof real colors. There are many different standards for RGB displays (they are optimized for different purposes, for example, fighter cockpits vs bright offices vs dark theatres) and this is why neat things like the blue-black-white-gold dress are possible.

I'm not aware of any publicly available tools to convert from spectra to RGB function; I'm building my own excel macros to do it right now. I don't think that's what you want though, unless it's super important to display it on a PC screen as realistically as possible, or you are building something that interacts with an RGB device. (Like a steampunk fighter jet helmet or VR headset lol.) For a web page, you cannot control how your customer's screen is color balanced so screw it. You would want to get the L*a*b* measurements if you wanted to do this for a QC purpose.

The most scientifically pure, objective way to analyze the optical properties of an object is variable angle spectroscopic ellipsometry (VASE). Especially for a reflective surface, because at sharper angles s and p polarized light will reflect differently. Ellipsometry data is then reverse engineered (using Maxwell's equations?) to build an optical model of the material. This is post-doc level physics and absolute overkill, but this is the purely objective way to define the optical properties of a material.

Edit: I found this. If you @ me I can model this up at work tomorrow and tell you if brass with different concentrations of copper will look different. I'm guessing they would, but the quality of the polishing would be the most important factor. https://refractiveindex.info/?shelf=other&book=Cu-Zn&page=Querry-Cu90Zn10

2