現在、私はC#のマンデルブロフラクタルジェネレータプログラムに取り組んでいます。私は色分けのために、線形補間とルックアップテーブルとしての配列を使用しています。双線形補間カラースキーム
直線補間の問題は、2色しか使用できないことです。
少なくとも3色を使用したいと思いますが、私は双線形補間プログラミングアルゴリズムを探していましたが、良いものは見つかりませんでした。
あなたの誰かがこれに対する解決策を持っているのだろうかと思いました。
は、ここに私の線形補間コードです:
private void InitColors()
{
int range = 255;
lookup = new Color[range];
Color from = Color.White;
Color to = Color.Blue;
int red;
int green;
int blue;
for (int i = 0; i < range; i++)
{
red = ((from.R * (range - i)) + (to.R * i))/range;
green = ((from.G * (range - i)) + (to.G * i))/range;
blue = ((from.B * (range - i)) + (to.B * i))/range;
lookup[i] = Color.FromArgb(red, green, blue);
}
}
EDIT:おそらく以上の2つの色の間の勾配を得るためにバイリニアよりも簡単な補間があります。
線形補間は、2つの色の間に勾配を与えます。しかし、3つの色を補間したい場合は、少なくとも2つの自由度が必要です。色選択を駆動するために使用したい(2つ以上の)変数は正確には何ですか?再帰の深さ? X座標?平面内の任意の点からの距離? – Peter
2色以上の勾配の結果が得られる限り、どのような方法を使用するかは本当に気にしません。しかし、もし存在すれば、私は非常に単純なものを望んでいます:-P –