0

通常、赤、緑、青で色を作成します。ただし、ユーザーにスクロールホイールで簡単に色を選択してもらいたいため、ユーザーに3つのカラーチャンネルを指定させることはできません。

256 * 256 * 256 にインクリメントできる変数があります。

ただし、ビットシフトを使用してカラーチャネルを取得すると、色が突然「ジャンプ」します。

整数の連続カラー パレットを使用してカラー チャネルを取得するにはどうすればよいですか?

4

2 に答える 2

1

直線的かつ連続的に歩きたい立方体があります。

幸いなことに、反転イメージが連続している必要はありません!

ここを見ると: http://xkcd.com/195/ 2 次元空間を直線的かつ連続的に歩く方法がわかります。この歩行を 3 次元の歩行に変更することは、基本的に難しいことではありません。

000 から 111 としてエンコードされた 8 つの位置を持つ 2x2 キューブがあります。

000 001
010 011

100 101
110 111

これらは立方体の上部と下部のスライスの座標です。

次の順序で説明します。

    1 -> 2
         |
         V
/-- 4 <- 3
|
|   6 -> 7
|   ^    |
|   |    V
\-> 5    8

その結果、「遠い隅」で立方体を終了します。

ここで、立方体のサイズを各次元で 2 倍にするには、同じアルゴリズムで上記の 8 つの角をそれぞれ取得します。

8 層の深さで、256 x 256 x 256 の立方体を連続して歩いています。

実際には、これは悪い考えかもしれませんが、試してみると楽しいかもしれません。:)

位置のビット値には比較的単純なパターンがあります。

000
001
011
010
110
100
101
111

つまり、0102101 は座標で変更されるビットです。

または、別の見方をすると、次元をたどる方法はグレイ コード パターンであるということです。

于 2013-02-01T20:59:43.413 に答える
1

いくつかの異なる自由度で遊ぶことができるので、直感的な方法は思いつきません。任意の RGB 値ではなく基本色のみが必要な場合は、HSV を使用して色相値をスクロールします。

于 2013-02-01T20:16:32.077 に答える