From 26b040ac6b52ed298de1023a47d015cb200b4d10 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Fri, 14 Feb 2025 22:37:03 +0530 Subject: Cleanup levy c curve + higher res --- 3-levy-c-curve/main.ua | 61 ++++++------------------------------------- 3-levy-c-curve/output-10.png | Bin 10500 -> 37765 bytes 3-levy-c-curve/output.png | Bin 10500 -> 37765 bytes README.md | 26 +++++++++++++++--- justfile | 4 --- 5 files changed, 30 insertions(+), 61 deletions(-) delete mode 100644 justfile diff --git a/3-levy-c-curve/main.ua b/3-levy-c-curve/main.ua index e59fd66..07eb6c4 100644 --- a/3-levy-c-curve/main.ua +++ b/3-levy-c-curve/main.ua @@ -1,64 +1,19 @@ W ← 600 # width H ← 600 # height S ← ÷2 W # size of segment -I ← 10 # iterations +I ← 12 # iterations E ← 0.0001 # error for 0 StartLine ← [(ℂ: (-(÷2 S) ÷2 W) ÷3 H) (ℂ: (+(÷2 S) ÷2 W) ÷3 H)] -ArcTan ← ⨬(°∿ ÷ √+1×. .)(×η±) =∞⌵ . -Quadrant ← ⍣( - π ⍤. × ⊙(≤0) ≤0 -| η◌ ⍤.<0 -| (+πη) ⍤.<0◌ -| 0◌◌ -) ∩(⨬∘(0◌) ≤E⌵.) -Theta ← +⊙Quadrant⌵ ArcTan◡÷: ⊙-- ⊙: ∩(°ℂ) -Split ← ⊂⊂: +,ℂ: ⊙×× ⊙, ⊙⊙(◡(÷√2⌵-)) ⊃(∿+η)∿ +(÷2η) ◡Theta°⊟ -Join ← ⊂ ⨬∘(↙-1⧻.) =◡(⊓⊣⊢) -MkCurve ← ⍥(/Join ≡Split ⧈∘2)I +ArcTan ← ⨬(°∿ ÷ √+1×. .)(×η±) =∞⌵ . +Quadrant ← ⍣(π ⍤. × ⊙(≤0) ≤0|η◌ ⍤.<0|(+πη) ⍤.<0◌|0◌◌) +Theta ← +⊙(Quadrant ∩(⨬∘(0◌) ≤E⌵.))⌵ ArcTan◡÷: ⊙-- ⊙: ∩(°ℂ) +Split ← ⊂⊂: +,ℂ: ⊙×× ⊙, ⊙⊙(◡(÷√2⌵-)) ⊃(∿+η)∿ +(÷2η) ◡Theta°⊟ +Join ← ⊂ ⨬∘(↙-1⧻.) =◡(⊓⊣⊢) +Curve ← ⍥(/Join ≡Split ⧈∘2)I StartLine -# Theta (ℂ:100 131.66666666666666) (ℂ:165 131.66666666666663) -# &p Curve - -# Curveu ← [ -# # (ℂ: 35 66.66666666666667) -# # (ℂ: 2.500000000000014 99.16666666666666) -# # (ℂ: 35.00000000000001 131.66666666666666) -# # (ℂ: 67.5 164.16666666666666) -# (ℂ: 100 131.66666666666666) -# (ℂ: 132.5 99.16666666666666) -# (ℂ: 165 131.66666666666663) -# # (ℂ: 197.49999999999997 99.16666666666664) -# # (ℂ: 165 66.66666666666667) -# ] - -# Quadrand ¯4 ¯4 -# Theta (ℂ: 0 0) (ℂ: 4 0) -# Theta (ℂ: 0 0) (ℂ: 0 4) -# Theta (ℂ: 0 0) (ℂ: ¯4 0) -# Theta (ℂ: 0 0) (ℂ: 0 ¯4) -# Theta (ℂ: 0 0) (ℂ: 4 4) -# Theta (ℂ: 0 0) (ℂ: ¯4 4) -# Theta (ℂ: 0 0) (ℂ: ¯4 ¯4) -# Theta (ℂ: 0 0) (ℂ: 4 ¯4) - -# (ℂ:35 66.66666666666667) -# (ℂ:35.00000000000001 131.66666666666666) -# (ℂ:165 66.66666666666667) - -Start ← [ - (ℂ:100 131.66666666666666) - (ℂ:165 131.66666666666663) -] -# Start ← [(ℂ: 35 66.6667) (ℂ: 2.500014 99.1666)] -# Start ← [(ℂ: 0 0) (ℂ: ¯4 0)] -# CC ← Split Start -# Curve ← ⊂Start CC -# +(ℂ: 100 100) ×10 - -Curve ← MkCurve StartLine -IsOnLine ← ◌: <0.01 ⌵- /+ ⊙(⌵-⊃⊢⊣)◡(⌵-) +IsOnLine ← ◌: <0.1 ⌵- /+ ⊙(⌵-⊃⊢⊣)◡(⌵-) IsOnCurve ← ≥1 /+ ≡(⨬(0◌)IsOnLine ◡(≤S⌵-⊢)) ⧈∘2 Curve ToPix ← ⨬(0_0_0)(⊂: 0.3_0.05 +0.1 ÷W ◌°ℂ) IsOnCurve. Img ← ∵ToPix (⍉ ⊞(ℂ:) ⇡W⇡H) diff --git a/3-levy-c-curve/output-10.png b/3-levy-c-curve/output-10.png index 78d7bd9..6b4f338 100644 Binary files a/3-levy-c-curve/output-10.png and b/3-levy-c-curve/output-10.png differ diff --git a/3-levy-c-curve/output.png b/3-levy-c-curve/output.png index 78d7bd9..6b4f338 100644 Binary files a/3-levy-c-curve/output.png and b/3-levy-c-curve/output.png differ diff --git a/README.md b/README.md index 51e7f76..5b9b4d4 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,25 @@ # Playing with [uiua](https://www.uiua.org/) -| | | | -|---|---|---| -| ![mandelbrot fractal](./1-mandelbrot/output-1080.png) | ![dragon curve](./2-dragon/output-12.png) | ![im a sinner](./4-im-a-sinner/output-1000.png) | - + + + + + + + + + +
+

Mandelbrot set fractal

+ +
+

Dragon curve

+ +
+

Levy C curve

+ +
+

sin(x^2) + cos(x^2) = sin(xy)

+ +
diff --git a/justfile b/justfile deleted file mode 100644 index 0150b34..0000000 --- a/justfile +++ /dev/null @@ -1,4 +0,0 @@ - -mandelbrot: - uiua run 1-mandelbrot/main.ua - -- cgit v1.3.1