ビットマップギャラリー

平面に横と縦方向に色のついた点(ピクセル)を敷き詰めたのがビットマップです。 画像ファイルとしては,簡単なヘッダーと3バイト(1色1バイト)ずつのアスキーコードを 詰め込んでやるだけで作れて,それを PNG や JPEG に圧縮する道具もネットに転がって いるので,ちょっとしたプログラミングで華麗な画像の世界を作ることができます。 という能書きはこれくらいにして,下のURLをご覧ください。

http://www.cs.kyoto-wu.ac.jp/~konami/Semi-34/bmapgallery.html

これらはいずれも2,30行のプログラムで描かれています。アルゴリズムも単純。まだ まだ追加予定です。


双曲線を使ったパターンも簡単です。不等式で座標平面の範囲を決める問題なんてのも,こういうふうに美しい作品を作るのに使えるとなれば,うれしくなりますね。

hyp2.png
hyp4.png

ちなみに右下の画像を生成するための 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

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS