I reused my complex class from shadergif.com/gifs/378
Log in to post a comment.
Canvas.setpenopacity(1); const turtle = new Turtle(); turtle.penup(); class ComplexNumber{ constructor(real, im){ this.r = real || 0.0; this.i = im || 0.0; } pow2(){ let a = this.r; let b = this.i; this.r = a * a - b * b; this.i = 2 * (a * b); return this; } len(){ return Math.sqrt(this.r * this.r + this.i * this.i); } times(k){ this.r *= k; this.i *= k; return this; } add(complex){ this.r += complex.r; this.i += complex.i; return this; } } function pixel(i,j){ let k; let x = i / 100; let y = j / 100; let z = new ComplexNumber(0,0); let c = new ComplexNumber(x,y); c.times(1.4); c.r -= 0.6; for(k = 0; k < 25; k++){ z = z.pow2().add(c); if(z.len() > 4.0){ break; } } turtle.goto(i * 1.0, j * 0.98); if(z.len() < 3.0 && z.len()){ turtle.pendown(); turtle.goto(i,j); } else { turtle.penup(); } } function walk(i) { let ii = i * 4; pixel(ii % 200 - 100, (ii - ii % 200) / 100 - 100); return i < 100 * 100; }