给出一种颜色的RGB数值,怎么算出对应的色相h的值?这有严格的公式。
工具/原料
电脑
Mathematica
方法/步骤
1、转换函数如下图:
2、先画一个RGBColor[{1,1/2,0}]的圆赢棱殄蕹盘:c={1,1/2,0};Graphics[{RGBColor[c],Disk[]}]
3、把第二幅图的颜色替换为色相:Graphics[{Hue职邗珩垃[h[c]/360],Disk[]}]可以看到,色彩看起来一样。
4、如果换一个RGB颜色:c={1,1/2,1/3};看起来就不一样了。这是怎么回事?
5、这是因为色彩的饱和度和亮度可能不相同。RGB转化为饱和度的函数如下图:
6、而亮度,则用{R,G,B}的最大值来表示。再看下面的图:
7、再试试:c={1/5,1/2,1/3};