46 lines
729 B
Plaintext
46 lines
729 B
Plaintext
var blob = use('blob')
|
|
|
|
var iter = 50
|
|
var limit = 2.0
|
|
var zr = null
|
|
var zi = null
|
|
var cr = null
|
|
var ci = null
|
|
var tr = null
|
|
var ti = null
|
|
var y = 0
|
|
var x = 0
|
|
var i = 0
|
|
var row = null
|
|
|
|
var h = Number(arg[0]) || 500
|
|
var w = h
|
|
|
|
log.console(`P4\n${w} ${h}`);
|
|
|
|
for (y = 0; y < h; ++y) {
|
|
row = blob(w);
|
|
|
|
for (x = 0; x < w; ++x) {
|
|
zr = 0; zi = 0; tr = 0; ti = 0;
|
|
cr = 2 * x / w - 1.5;
|
|
ci = 2 * y / h - 1;
|
|
for (i = 0; i < iter && (tr + ti <= limit * limit); ++i) {
|
|
zi = 2 * zr * zi + ci;
|
|
zr = tr - ti + cr;
|
|
tr = zr * zr;
|
|
ti = zi * zi;
|
|
}
|
|
|
|
if (tr + ti <= limit * limit)
|
|
row.write_bit(1);
|
|
else
|
|
row.write_bit(0);
|
|
}
|
|
|
|
stone(row)
|
|
|
|
log.console(text(row, 'b'));
|
|
}
|
|
|
|
$stop() |