*ビットマップギャラリー 平面に横と縦方向に色のついた点(ピクセル)を敷き詰めたのがビットマップです。 画像ファイルとしては,簡単なヘッダーと3バイト(1色1バイト)ずつのアスキーコードを 詰め込んでやるだけで作れて,それを PNG や JPEG に圧縮する道具もネットに転がって いるので,ちょっとしたプログラミングで華麗な画像の世界を作ることができます。 という能書きはこれくらいにして,下のURLをご覧ください。 http://www.cs.kyoto-wu.ac.jp/~konami/Semi-34/bmapgallery.html これらはいずれも2,30行のプログラムで描かれています。アルゴリズムも単純。まだ まだ追加予定です。 ---- 双曲線を使ったパターンも簡単です。不等式で座標平面の範囲を決める問題なんてのも,こういうふうに美しい作品を作るのに使えるとなれば,うれしくなりますね。 #ref(hyp2.png,left) #ref(hyp4.png,right) ちなみに右下の画像を生成するための Ruby のソースはこんなものです。 px = 240; py = 180 mx = px / 2; my = py / 2 q1 = 200; q2 = 1000 colmax = 0xff colmaxh = 0xff / 2 printf("P6\n%d %d\n%d\n",px,py,colmax) for i in 0 ... py for j in 0 ... px if (j - mx) ** 2 - (i - my) ** 2 > q2 cr = 0 cg = colmaxh cb = colmax elsif (j - mx) ** 2 - (i - my) ** 2 < -q1 cb = 0 cg = colmax cr = 0 else cb = 0 cg = colmax cr = colmax end printf("%c%c%c",cr,cg,cb) end end