バーニングシップ・フラクタル
言語:Mathematica
burnp[c_, limit_, f_] := ( n = 0; z = 0; While[n < limit, z = f[z, c]; If[Abs[z] >= 2, out = False; Break[]] If[n == limit - 1, out = True; Break[]] n++;]; out) list[table_] := ( Map[{Re[#], Im[#]} &, table]) clist[sample_] := Flatten[Table[-2 + -2 I + i/sample*4 + j/sample*4 I, {i, 0, sample}, {j, 0, sample}]] main[sample_, limit_, f_] := ListPlot[list[Select[clist[sample], burnp[#, limit, f] &]]]
実行例