diff options
| -rw-r--r-- | 3-levy-c-curve/main.ua | 61 | ||||
| -rw-r--r-- | 3-levy-c-curve/output-10.png | bin | 10500 -> 37765 bytes | |||
| -rw-r--r-- | 3-levy-c-curve/output.png | bin | 10500 -> 37765 bytes | |||
| -rw-r--r-- | README.md | 26 | ||||
| -rw-r--r-- | justfile | 4 |
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 Binary files differindex 78d7bd9..6b4f338 100644 --- a/3-levy-c-curve/output-10.png +++ b/3-levy-c-curve/output-10.png diff --git a/3-levy-c-curve/output.png b/3-levy-c-curve/output.png Binary files differindex 78d7bd9..6b4f338 100644 --- a/3-levy-c-curve/output.png +++ b/3-levy-c-curve/output.png @@ -1,7 +1,25 @@ # Playing with [uiua](https://www.uiua.org/) -| | | | -|---|---|---| -|  |  |  | -<!-- |  | | | --> +<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 - |
