在HSV空间中添加/混合颜色

Nox*_*Nox 7 c++ colors hsv

我一直试图让可视化进行几天.我正在生成衍射图像,并希望根据光的波长对其进行着色.
获得正确颜色的最简单方法是使用HSV空间,其中H随波长变化而S,V设置为1.0
Alas,我找不到在HSV空间中混合不同颜色的公式/算法/方式.

是否存在混合HSV或其他可理解方式的公式?

and*_*wmu 6

老实说,我会转换RGB,平均组件并转换回HSV.

这不是最有效的方法,但你可能已经或需要RGB < - > HSV代码,RGB计算可能会简单得多.


use*_*653 5

Foley等人的计算机图形学:原理与实践的标准参考之一.在第13.3.7节"颜色空间插值"中有这样的说法:

"当混合两个图像时,颜色可能相当遥远,并且诸如RGB的附加模型是合适的.另一方面,如果目标是在两种固定色调的颜色之间进行插值(或饱和度并保持所有插值颜色的固定色调(或饱和度),然后HSV或HLS是优选的.但请注意,HSV或HSL中的固定饱和插值被观察者视为具有固定饱和度[...] "

所以他们同意@andrewmu的建议,这似乎是最好的建议.