Assorted Projects

Complex Number Visualizer

Horizontal: Real axis | Vertical: Imaginary axis

Available Functions:

The canvas represents the complex plane with the real axis horizontally and the imaginary axis vertically.

Example Code:

// Plot basic complex numbers plot(new Complex(3, 2), 'red'); plot(new Complex(-1, -1), 'blue'); plot(new Complex(0, 2), 'green');
// Plot a unit circle for (let theta = 0; theta <= 2 * Math.PI; theta += 0.1) { const x = Math.cos(theta); const y = Math.sin(theta); plot(new Complex(x, y), 'purple'); }
// Plot a complex function z² + 1 function f(z) { return z.multiply(z).add(new Complex(1, 0)); } // Plot a grid and apply the function to each point plotGrid(-2, 2, -2, 2, 0.5); plotFunction(f, -2, 2, -2, 2, 0.5, 'red');
// Plot complex exponential function complexExp(z) { return exp(z); } // Plot original grid points plotGrid(-2, 2, -2, 2, 0.2, '#aaa'); // Plot transformed points plotFunction(complexExp, -2, 2, -2, 2, 0.2, 'blue');
// Mandelbrot Set preview (simplified) function mandelbrot(c, maxIterations = 20) { let z = new Complex(0, 0); let iterations = 0; while (iterations < maxIterations && z.magnitude() < 2) { z = z.multiply(z).add(c); iterations++; } if (iterations === maxIterations) { return true; // Point is in the set } return false; // Point escaped } // Check if points are in the Mandelbrot set for (let x = -2; x <= 0.5; x += 0.05) { for (let y = -1.5; y <= 1.5; y += 0.05) { const c = new Complex(x, y); if (mandelbrot(c)) { plot(c, 'black'); } } }