0
-1から1までのfloat値の配列を持っています。 色の値の大きさに依存する赤 - 黄 - 緑 - 青 - 紫のグラデーションカラースケールを取得したいとします。赤、-1は青、0は緑)?Cのカラースケール
これらの値を処理して、それらの値をrgbにするにはどうすればよいですか?
-1から1までのfloat値の配列を持っています。 色の値の大きさに依存する赤 - 黄 - 緑 - 青 - 紫のグラデーションカラースケールを取得したいとします。赤、-1は青、0は緑)?Cのカラースケール
これらの値を処理して、それらの値をrgbにするにはどうすればよいですか?
線形補間グラデーションを使用すると仮定すると、配列内の各変数に対してこれを行うことができます。 r
,g
,b
は0..1の範囲にあり、必要に応じて簡単に0..255の整数に変換できます。
float v; // = array value
float r = 0.f, g = 0.f, b = 0.f;
if (v < 0)
{
b = 1.f + v;
g = -v;
}
else
{
r = v;
g = 1.f - v;
}