Context Free - デザイン文法で遊ぶ


Context Free は,CFDG と呼ばれる文脈自由デザイン文法を使って画像を生成するためのソフトウェア。語弊を恐れず砕いて言えば「お絵描きプログラミング環境」の一種だ。とてもシンプルなプログラムから,恐ろしく複雑な絵や,細密な絵を作り出すことができる。

以下は,とりあえずの習作。「プログラミング」とは言えども,普段のプログラミングとはまったく異なる部分の脳細胞を使っているような感覚があって,とても新鮮。命令型言語の発想で染まりきってしまった頭をリフレッシュするには最適!かも!

include i_pix.cfdg
startshape HOGE
rule HOGE {
  H_5by5 {x 0 }
  O_5by5 {x 1.2}
  G_5by5 {x 2.4}
  E_5by5 {x 3.6}
  HOGE {s 0.75 y 1 r 30}
}

startshape Origin
rule Origin {
  3*{r 3} Seed {}
}
rule Seed {
  5*{r 72} Seg {h 40}
}
rule Seg 6 {
  Dot {}
  Seg {x -0.8 s 0.9 h -0.02|}
}
rule Seg 6 {
  Dot {}
  Seg {y -0.8 s 0.9 h -0.02|}
}
rule Seg {}
rule Dot {
  CIRCLE {z -2 s 3 b 0.5}
  CIRCLE {z -1}
  CIRCLE {b 1 s 0.89 sat 1}
}

ちなみに今回 Context Free は,why さんの hackety org で紹介されているのを見て知った。このほか hackety org では,定期的に面白プログラミング環境について取り上げている。トイ・プログラミング好きなら要チェックだ。