フラクタル図形

最近なんだかC++がなつかしくなってきて再び触り始めました。「これからは無闇に流行を追い求めるのを止めて、ひたすら地味路線で行く」と決め込んだ今の私にとっては、RubyPythonなど流行のスクリプト言語よりも質実剛健な雰囲気のC++の方が適してるのかもしれません。で、早速「C++ランゲージクイックリファレンス」を買ってきて、ほとんど忘れかけた言語仕様を思い出しながら、遊びとリハビリを兼ねてフラクタル図形(マンデルブロ集合とジュリア集合)を描画する簡単なプログラムを作ってみました。

http://homepage.mac.com/radio_nights/files/fractal.tar.gz

これらフラクタル図形の描画は一見複雑にみえますが、主な計算は単純な漸化式の繰り返しだけなので、今回のようなケースに限らず新しい言語を学ぶ時の格好の題材になると思います。また、描画する画素一つ一つの計算が全て独立しているので、並列プログラミングの練習にも丁度良さそうです。近頃はCPUのマルチコア化にともなって並列処理のきちんとした理解がますます重要になってきそうなので、これを機会に色々と実験してしようと思います。先月オライリーから解説書が出版されたインテルのTBB(スレッディング・ビルディング・ブロック)とか是非使ってみたいですね。

インテル スレッディング・ビルディング・ブロック ―マルチコア時代のC++並列プログラミング

インテル スレッディング・ビルディング・ブロック ―マルチコア時代のC++並列プログラミング