反復の最大量 = 1000 とすると、色 (赤、緑、青) の方法についていくつかのアイデアが得られます。私が今思いつくことができるのは、ラメな2色のグラデーションだけです:(
これほど美しいものを実際に思いつくことができるでしょうか?
反復の最大量 = 1000 とすると、色 (赤、緑、青) の方法についていくつかのアイデアが得られます。私が今思いつくことができるのは、ラメな2色のグラデーションだけです:(
これほど美しいものを実際に思いつくことができるでしょうか?
くそー、初心者が画像を投稿することはできませんが、私のカラーリングの効果を確認するには、このリンクを試してください
クリックすると私のマンデルブロが表示されます。右クリックすると大きなサイズが表示されます
私のテクニックは、フラクタル エクストリームの 228 パレット インデックスにカラー キューブの使用可能なすべての色を使用することです。スプレッドシート (OpenOffice) を使用して、24 ビット値の線形サンプルを取得します。各 RGB コンポーネント (トップ ビット) から 1 ビットをスライスして、3 ビットの RGB 値を形成します。vlookup を使用して 8 つの 3 ビット カラーを、白、マゼンタ、赤、黄、黒、青、シアン、緑などのシーケンスに変換します。次に、値としてコピーして貼り付けて、最上位のビット シーケンスを 7 番目のビットで並べ替えることができます...
詳細を知りたいですか?
24 ビット RGB 値の合成は簡単です。
列 A は 0 から 227 までの数値、=ROW()-2
これは列 B で 24 ビットに変換されます =ROUND(A2*16777215/227)。
列 C は 16 進数に変換 =DEC2HEX(B2;6)
列 D は赤の成分を抽出し、10 進数に変換します =HEX2DEC(LEFT(C2;2))
列 E についても同様です 緑 =HEX2DEC(MID(C2;3;2)) およびF blue =HEX2DEC(RIGHT(C2;2))
G は上位ビットをスライスし、3 ビット RGB に変換します
=BIN2DEC(LEFT(DEC2BIN($D2;8);1)&LEFT(DEC2BIN($E2;8);1) &LEFT(DEC2BIN($F2;8);1))
H 7 番目のビットスライス
=BIN2DEC(MID(DEC2BIN($D2;8);2;1)&MID(DEC2BIN($E2;8);2;1)&MID (DEC2BIN($F2;8);2;1))
I 6 番目のビット スライス
=BIN2DEC(MID(DEC2BIN($D2;8);3;1)&MID(DEC2BIN($E2;8);3;1) &MID(DEC2BIN($F2;8);3;1))
最下位ビット列まで N
=BIN2DEC(RIGHT(DEC2BIN($D2;8);1)&RIGHT(DEC2BIN($E2;8);1)&RIGHT(DEC2BIN($F2;8);1))
この 3 ビット RGB をカラー シーケンスに変換するために、スプレッドシートに「3 ビット ソート」という別のタブがあります。
列 H の数式は =VLOOKUP(G2;'3bitsort'.$B$62:$C$69;2;0) です。
行 b62 から b69 の値は
0、1、3、2、7、5、4、6 です 行 c62 から c69 の値は 0、1、2、3、4、5、6、7 です
したがって、式は 3 ビットを変換しますRGB 値を、黒、青、シアン、緑、白、マゼンタ、赤、黄の順序で配置します。
列 P から V の 7 番目から 1 番目のビットについても同様です。
これらのシーケンスされた色で並べ替えるために値としてコピーして貼り付けても問題ありませんが、色の間で急激なカットオフが発生する傾向があります。H by I by J... による単純な並べ替えでは、トップ ビットの緑、7 番目の黄色、トップ ビットの白、7 番目のビットの黒の順に並べられます。上のビットの緑と 7 番目のビットの白を、上のビットの白と 7 番目のビットの緑の次に並べると、遷移がよりスムーズになります。だから私は翻訳の第 2 レベルを行います。これは、上位ビットの色に基づいて別のシーケンスに変換する必要があります。
各色について、「3bit ソート」の列全体で、次の上位ビットの色に基づいて追加の変換シーケンスを作成します。
列 W =VLOOKUP(H2;OFFSET('3bit sort'.$E$62;0;3*O2;8;2);2;0)
オフセットは、以前に使用した b62:c59 のシーケンスの右側にあり、必要なシーケンスを設定した場所に見えます。
O2 はトップ ビットの変換された色です。緑は 3 なので、b62:b69 の右側の 9 列は列 n62:n69 であり、シーケンス 3、1、2、6、4、0、5、7 o62 を含みます
。 o69 には、変換されたシーケンス 0、1、2、3、4、5、6、7 が含まれます。
したがって、7 番目のビットが白の場合、最も白い緑が最後にソートされます。
q62:q69 には 2、1、3、7、0、6、4、5 が含まれているため、最も緑の白を最も白い緑の次に並べ替えることができます。
値としてコピーして貼り付け、次に 8 ビットで並べ替え、次に 8 番目のビットで示される 7 番目のビット テーブルと 7 番目で示される 6 番目のビット テーブルで並べ替えると、スムーズな遷移が得られます。
しかし、それだけではありません。
Fractal Extreme は、色が多くの反復に分散している場合に色を補間できます。上の図では、反復回数が最小で 12939 回、最大で 27609 回であるため、228 のインデックス パレット テーブルの各色が何十回もの反復で塗りつぶされます。Fractal Extreme には、すべての奇数カラー インデックスを 2 番目のパレット テーブルから取得できる機能もあります。これにより、ストライプ効果が得られます。ストライプ パレットを 16 の位置でオフセットしました。これにより、補間で使用する色間に少しの違いが生じます。
これが、従来のデータベースのハックがマンデルブロに色を付ける方法です。彼はスプレッドシートを使用しています。
50回の反復は非常に粗く、詳細は得られません。
スペクトルを取得する最も簡単な方法は、複数の 2 色グラデーションを使用することです。したがって、50 ~ 41 回の反復は青の色合い、41 ~ 30 回は青赤、29 ~ 10 回は赤緑、9 回 ~ 0 回は緑白になります。
RGB モニターの色域は三角形であるため、このようなスキームは「カラー ホイール」の外側にほとんど従います。
HSV RGB ライブラリを検索すると、より簡単な HSV カラー システムを使用するのに役立つツールが見つかる場合があります。
私は少し古いことを知っていますが、私のいわゆるサイクリックスキームは、256-512-1024回の繰り返しで、ズームされたマンデルブロパーツで興味深い結果をもたらします.
public class FColorCyclic implements FColor{
final private static int SIZE2 = 64;
final private static int SIZE = SIZE2 >> 1;
@Override
public RGB convertColor(int color, int maxcolor, RGB rgb) {
// bounded color
if (color == maxcolor)
return rgb.setColorZero();
int a = color % SIZE2;
if (a > SIZE)
a = SIZE2 - a;
return rgb.setColor(a, SIZE2);
}
}
わずか 50 回の繰り返しで、個別の色のパレットについて何か言いたいことがあります。(たとえば) 10 を選び、各ピクセルを palette[itercount%palettesize] として単純にプロットします。パレットをいじって、目の出血を少なくします。ただし、後で連続パレットを必要とするスムーズな反復カウントに移行する場合、これは機能しません。後でより深い反復カウントを行う場合は、微調整することもできます。
HSV カラーリングを使用して、連続した虹の効果を与えることができます。S=1.0、V=1.0 (または見栄えが良いと思われるもの) を設定し、色相角度の周りに反復 (または反復の関数) をプロットします。RGB への変換は非常に簡単で、Google で調べることができます。
多段階勾配はどうですか?離散パレットのアイデアに基づいて構築すると、あるパレットから次のパレットに進むだけでなく、適切な範囲の繰り返しであるパレットから次のパレットにグラデーションをかけることができます。これは、潜在的な反復回数が多い場合に適しています。
マンデルブロ集合図を生成するタスクがあったとき、 HSL/HSV カラー スペクトルを使用しました。正規化された反復に応じて色を選択できます(意味current iteration/max iteration = colour
)。