前回描画したマンデルブロ集合に色をつけます。どのような色をつけるかですが、収束しないことが確定したときのnの値から生成することにします。zの絶対値が2を超えたときが下記の漸化式が収束しないことが確定するときです。

nが0から127までは青から黄色に変化し、128から255までは黄色から赤へ、256から383までは赤から白へ、それよりも大きな値の場合は白とします。

この場合、渡された引数からColorを返すメソッドは以下のようになります。

IsMandelbrotSetメソッドを少し変えます。引数をもうひとつ追加して収束しないことが確定するnの値、コード内ではiの値を取得できるようにします。

CreateMandelbrotSetBitmapメソッドでは複素数がマンデルブロ集合に属さない場合、IsMandelbrotSetメソッドを実行して取得されたcountと、これをCreateColorFromIntメソッドに渡して返されたColorをBitmapにセットします。

ボタンをクリックしたら拡大します。

これは拡大した結果です。