From b6ebba87606d180735994d62e2d71c3fbf0b8763 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 29 Oct 2023 16:09:56 +0530 Subject: feat: week 1 sort-of done? but not really --- sketches/week-1/mandelbrot.bqn | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 sketches/week-1/mandelbrot.bqn (limited to 'sketches/week-1/mandelbrot.bqn') diff --git a/sketches/week-1/mandelbrot.bqn b/sketches/week-1/mandelbrot.bqn new file mode 100644 index 0000000..e844df8 --- /dev/null +++ b/sketches/week-1/mandelbrot.bqn @@ -0,0 +1,23 @@ +CMul ← { ⟨a, b⟩𝕊⟨c, d⟩: ⟨a×c - b×d, a×d + b×c⟩ } +CMag ← +´×˜ +MandelbrotFn ← +⟜(CMul˜) + +MBValue ← {⟨w, h⟩ 𝕊 ⟨x, y⟩: + p ← 6 × ⟨(x - w÷2)÷w, (y - h÷2)÷h⟩ + iters ← 0 + old ← 0‿0 + CMag p⊸MandelbrotFn •_while_ { + isFinite ← 70 > CMag (𝕩 - old) + old↩𝕩 + iters+↩1 + isFinite ∧ iters < 10 + } 0‿0 +} + +MBGrid ← {dimens 𝕊 grid: {⟨0.7, 0.4, 1⟩ × (dimens MBValue 𝕩) | 255}¨grid} + +{𝕊⟨w, h⟩: + grid ← (>{↕h}¨↕w) ∾¨ h⥊˘↕w + p ← ⟨1, 1⟩ + ⟨w, h⟩ MBGrid grid +} -- cgit v1.3.1