空前のシダ描画ブーム到来!?(^^;)
あなたも得意なプログラミング言語でシダを描画してみよう!
これまでの一覧
僕もやりたくなった。
まだ誰もやってない言語で僕の書けるものとしてPostScriptでやってみた。
コード
sida.ps
%!PS-Adobe-3.0
2 dict dup /PageSize [595 842] put dup /ImagingBBox null put setpagedevice
/drand {rand 2 31 exp div} def
/plotadot {842 mul exch 595 mul 595 add exch moveto 1 1 rlineto stroke} def
/W1x {0.044 mul exch 0.836 mul add} def
/W1y {0.836 mul exch -0.044 mul add 0.169 add} def
/W2x {0.302 mul exch -0.141 mul add} def
/W2y {0.141 mul exch 0.302 mul add 0.127 add} def
/W3x {-0.302 mul exch 0.141 mul add} def
/W3y {0.141 mul exch 0.302 mul add 0.169 add} def
/W4x {pop pop 0} def
/W4y {0.175337 mul exch 0 mul add} def
/f1 {2 copy W1x 3 1 roll W1y} def
/f2 {2 copy W2x 3 1 roll W2y} def
/f3 {2 copy W3x 3 1 roll W3y} def
/f4 {2 copy W4x 3 1 roll W4y} def
/fp{
dup 0 gt
{
drand 0.3 le{3 copy 3 1 roll f2 3 2 roll 1 sub fp}if
drand 0.3 le{3 copy 3 1 roll f3 3 2 roll 1 sub fp}if
drand 0.3 le{3 copy 3 1 roll f4 3 2 roll 1 sub fp}if
3 1 roll f1 3 2 roll 1 sub fp
}
{pop exch 0.5 sub exch plotadot}
ifelse
}def
0 0 20 fp
showpage