卒研:マンデルブロ集合
2週間ほど前からマンデルブロ集合で卒業研究を再スタートしています。今度こそは最後までやり遂げられそうです。(「マンデルブロ集合とは何ぞや!?」と言う人はこのへん⇒Wikipedia、ここの過去記事)
さて、Visual C++を使ってマンデルブロ集合を表示するプログラムを作っていたわけですが、先週、漸化式を2乗よりも大きくしたときの描画を行えるものが完成しました。これにより、n乗(ただし自然数)でのマンデルブロ集合を描画できるようになりました。その上で、今はマンデルブロ集合を研究するためのツールとしても使用しています。
コーディングの話ですが、画像として表示するためのコードはネット上に転がっていたので、僕自身がやったのは、<1>複素数の累乗が"n乗"で可変となるため、nの値に応じて計算式をそのつど作るようにした、<2>乗数などの条件をダイアログ入力で好きなように設定できるようにした、<3>膨大な計算反復での誤差を防ぐために変数型を変更した、の3点です。もっとも、使った時間のほとんどは<1>です(<3>なんか一瞬で終わりますw) ちなみに、<1>で計算処理をパターン化するときに、思いがけず二項定理が大いに役立ちました。やっぱり基礎って大事だなぁ、と実感した実践研究のひとコマです。
ただ、乗数を13以上に設定して動かすと、描画画像が予想と異なる乱れたものになってしまうため、それがプログラムのせいなのか、それともマンデルブロ集合自体の持つ性質なのか、只今検討を進めています。(おそらく前者が原因。有効数字による誤差拡大の線が怪しい) ちなみに、これが前に進まないことには、この研究の一つの目標である「100乗や1000乗のときのマンデルブロ集合の姿を描画する」ことができなくなってしまいます。
もう一つ、乗数を自然数以外にしたときのケースなども考えていますが、こちらは-1乗での画像がネット上にすでに上がっています。それ以上の価値のあるものを見出せるのかがポイントです。
では。