aboutsummaryrefslogtreecommitdiff
path: root/3-levy-c-curve
diff options
context:
space:
mode:
Diffstat (limited to '3-levy-c-curve')
-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
3 files changed, 8 insertions, 53 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