JSFiddle - React, Tailwind, and code Playground
HTML
<p>z = <input type="text" id="a"/> + <input type="text" id="b"/> i</p>
<p>z is <span id="contained"></span> the Mandelbrot set</p>
CSS
input {
width: 5em;
}
JavaScript
// is a+b*i in the Mandelbrot set?
function mandelbrot(a,b) {
var re = 0;
var im = 0;
var re_n = re, im_n = im;
var trials = 0;
for(var trials = 0; trials<100; trials++) {
re_n = re*re-im*im + a;
im_n = 2*re*im + b;
re = re_n;
im = im_n;
if(re*re+im*im>4) {
return false;
}
}
return true;
}
function check() {
var a = parseFloat($('#a').val());
var b = parseFloat($('#b').val());
if(!(isNaN(a) || isNaN(b))) {
var contained = mandelbrot(a,b);
$('#contained').text(contained ? 'in' : 'not in');
} else {
$('#contained').text('????');
}
}
$('#a,#b').on('change keyup',check);
$('#a,#b').val(0);
check();