<分区>
标签 c++
<分区>
所以如果我有一个从红色到紫色(0-360)的圆,如果我有一个角度,我能得到一个颜色吗?我一直在搜索,但我只找到了从不同格式转换的代码,与角度无关。我真的很想知道这背后的数学原理。
我正在为我的带有操纵杆和 RGB LED 的 arduino 编写一个 C++ 程序。我已经完成了简单的事情,但我什至不知道从哪里开始颜色。
最佳答案
RGB 颜色空间基于笛卡尔坐标。如果你想要一个角度,这意味着你想要类似于极坐标的东西,你正在寻找的颜色空间是 HSL 或 HSV。
https://en.wikipedia.org/wiki/HSL_and_HSV#From_HSV
在 HSV 中,例如,您可以使用最大饱和度和最大值,然后您只需选择色相(这是一个角度)。
话虽这么说,你也可以组成一个并使用例如:
(R, G, B) = (256*cos(x), 256*cos(x + 120), 256*cos(x - 120))
cos
使用的是度数。
关于c++ - 在圆上给定一个角度找到 RGB 颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49584688/