正月はフラクタル・Mandelbrot 集合
そう言えば PostScript で Mandelbrot 集合を書いたことなかったっけ、ということで、書いてみました。
拡大を続けていくと表示が乱れますが、PostScript の浮動小数点数が単精度なせいです。多分。
最近 PostScript 書いてなかったから随分忘れてしまってました。
以下ソース
%!PS-Adobe-2.0 EPSF-2.0 %%BoundingBox: 0 0 200 200 /c{ % cx cy 2 dict begin /cy exch def /cx exch def 0 0 0 64{ % n x y 2 copy dup mul exch dup mul 2 copy add 4 gt{ pop pop exit }if exch sub cx add 4 1 roll mul 2 mul cy add exch 1 add 3 1 roll }repeat pop pop end }def /a{ % x0 y0 dx dy 7 dict begin /dy exch def /dx exch def /y0 exch def /x0 exch def x0 dx 2 div add y0 dy 2 div add c dup 64 ge{ pop 0 0 0 }{ 64 div 1 exch sub dup 1 }ifelse setrgbcolor x0 y0 dx dy rectfill end }def /cx -0.760225 def /cy 0.082 def 0 1 35{ 1.5 exch exp /ratio exch def /scl 50 ratio mul def /width 2 ratio div def /dx 0.005 width mul def gsave 0 setlinewidth scl scl scale width cx sub width cy sub translate -1 0.005 1{ width mul cx add -1 0.005 1{ width mul cy add 2 copy dx dup a pop }for pop }for showpage grestore }for