f(z) = z^2 + A
z_{n+1} = f(z_n)
ここで,A = -0.350 - 0.630i とし,漸化式の初期値を実部 -1 〜
1,虚部 -1 〜 1 の範囲で変化させています.50 回の繰り返しの間に絶対値
が 2 を越したものは発散したものと判定します.
なお,下記のワードは整数が 32bit 以上で表現されていることを仮定したものです.
: dot dup 50 > if drop 0 else 15 % 1+ endif setcolor 2 ndrop
over 340 - minus over 220 + swap 1 1 rectf ;
: check 50 > if drop drop 1 else dup * swap dup * + 4000000 > endif ;
: nextr dup * 1000 / swap dup * 1000 / - 350 - ;
: nexti * 500 / 630 - ;
: next 1+ rotr 2 copy nextr 4 nrotr 2 copy nexti 5 nrotr drop drop ;
: fpoint do 3 copy check if dot 0 else next 1 endif while ;
: fract 201 0 for I 201 0 for I
over 100 - 10 * over 100 - 10 * 0 fpoint drop loop drop loop ;
gm fract
tm