aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--3-levy-c-curve/main.ua61
-rw-r--r--3-levy-c-curve/output-10.pngbin10500 -> 37765 bytes
-rw-r--r--3-levy-c-curve/output.pngbin10500 -> 37765 bytes
-rw-r--r--README.md26
-rw-r--r--justfile4
5 files changed, 30 insertions, 61 deletions
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
--- a/3-levy-c-curve/output-10.png
+++ b/3-levy-c-curve/output-10.png
Binary files differ
diff --git a/3-levy-c-curve/output.png b/3-levy-c-curve/output.png
index 78d7bd9..6b4f338 100644
--- a/3-levy-c-curve/output.png
+++ b/3-levy-c-curve/output.png
Binary files 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) |
-<!-- | ![levy c curve](./3-levy-c-curve/output-10.png) | | | -->
+<table>
+ <tr>
+ <td width="50%" valign="top">
+ <h3>Mandelbrot set fractal</h3>
+ <a href="1-mandelbrot/main.ua"><img src="1-mandelbrot/output-1080.png" /></a>
+ </td>
+ <td width="50%" valign="top">
+ <h3>Dragon curve</h3>
+ <a href="2-dragon/main.ua"><img src="2-dragon/output-12.png" /></a>
+ </td>
+ </tr>
+ <tr>
+ <td width="50%" valign="top">
+ <h3>Levy C curve</h3>
+ <a href="3-levy-c-curve/main.ua"><img src="3-levy-c-curve/output-10.png" /></a>
+ </td>
+ <td width="50%" valign="top">
+ <h3>sin(x^2) + cos(x^2) = sin(xy)</h3>
+ <a href="4-im-a-sinner/main.ua"><img src="4-im-a-sinner/output-1000.png" /></a>
+ </td>
+ </tr>
+</table>
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
-