几天来,我一直在尝试进行可视化。我正在生成衍射图像,并希望根据光的波长对其进行着色。
获得正确颜色的最简单方法是使用 HSV 空间,其中 H 随波长变化,S,V 设置为 1.0
唉,我找不到在 HSV 空间中混合不同颜色的公式/算法/方法。
是否有混合 HSV 的公式或其他可理解的方式?
老实说,我会转换 RGB,平均组件并转换回 HSV。
这不是最有效的方法,但您可能拥有或需要 RGB<->HSV 代码,并且 RGB 计算可能要简单得多。
标准参考之一计算机图形学: Foley 等人的原则和实践。在第 13.3.7 节“在色彩空间中插值”中有这样说:
“当两个图像混合时 [...] 颜色可能很远,加法模型,如 RGB,是合适的。另一方面,如果目标是在固定色调的两种颜色之间进行插值(或饱和度)并保持所有插值颜色的固定色调(或饱和度),然后 HSV 或 HLS 更可取。但请注意,HSV 或 HSL 中的固定饱和度插值不被观看者视为具有固定饱和度 [...] "
所以他们同意@andrewmu 的建议,这似乎是总体上最好的建议。