0

int 変数に基づいて一意の色を作成する関数を作成したいと思います。問題は、これらの変数の範囲 (1 から 10 000 まで) です。

だから私は、それぞれが独自のIDを持つ10 000フィールドの配列を持っています。そして今、その ID に基づいて各フィールドの色を設定する必要があります。

void setColor(int ID); // set R G B 

助言がありますか?

4

3 に答える 3

4

10,000 の可能な入力オプションがあるのに対し、256 x 256 x 256 = 1600 万の出力オプションがあります。RGB 値を均等に変化させたいと仮定すると、最大で R、G、B に 21 の diff 値を使用できます。これにより、21.5^3 ~ 10000 が得られます。

したがって、目的を達成するには、256/21 ~ 12 のステップを踏む必要があります。

したがって、基本的に私のポイントは次のとおりです。

int       RGB value
1         0,0,0
2         0,0,12
3         0,0,24
.
..
22        0,0,253
23        0,12,0
.
.
.
10000     255,255,255
于 2013-09-27T12:26:40.833 に答える
0

最も簡単な解決策は、ID を RGB 値に直接変換することです。ただし、視覚的に特徴的な色の範囲にはなりません。

于 2013-09-27T12:34:12.213 に答える