在圆上给定角度找到RGB颜色?

时间:2018-03-31 05:47:59

标签: c++

所以,如果我有一个从红色到紫色(0-360)的圆圈,如果我有一个角度,我可以得到一个颜色吗?我一直在寻找,但我只找到了从不同格式转换的代码,与角度没有任何关系。我真的很想知道这背后的数学。

我正在为我的arduino编写一个带有操纵杆和RGB led的c ++程序。我已经完成了简单的工作,但我甚至不知道从哪里开始使用颜色。

1 个答案:

答案 0 :(得分:0)

RGB颜色空间基于笛卡尔坐标。如果你想要一个角度意味着你想要一些类似于极坐标的东西,你要找的颜色空间要么是HSL,要么是HSV。

https://en.wikipedia.org/wiki/HSL_and_HSV#From_HSV

在HSV中,你可以使用例如maxium Saturation和maxium Value,然后你只需要选择Hue(这是一个角度)。

话虽这么说,你也可以化妆一个并使用例如:

(R, G, B) = (256*cos(x), 256*cos(x + 120), 256*cos(x - 120))

cos使用度数的地方。