29 lines
874 B
Text
29 lines
874 B
Text
BaseImage ← (
|
||
≡(≡(
|
||
[⊃(∿÷4|∿÷2◌|∿÷4+|∿÷2√+∩ⁿ₂|1)]
|
||
# [⊃(∿÷16|∿÷8◌|∿÷16+|∿÷8√+∩ⁿ₂|4)]
|
||
÷ 8/+
|
||
)⇡40
|
||
)⇡40
|
||
)
|
||
Hueshift ← ⍥(-1)⊸<₁+0.02
|
||
|
||
# Convert HSV to RGB
|
||
# NOTE: H=0-1 S=0-1 V=0-1 --> R=0-255 G=0-255 B=0-255
|
||
HsvToRgb ← memo(
|
||
# H S V C (where C = S x V)
|
||
˜⊂⊸(/×↘1)
|
||
# C X(= Cx(1-abs((Hx6)mod2 -1)))[with rounding] m (=V-C) H (for later)
|
||
[⊃(⊣|ט-1⌵-1◿2÷1000⁅×6000°⊟⊏[0 ¯1]|/-↘2|⊢)]
|
||
⊸[⊃([⊃(⊡0|⊡1|⋅0)] # CX0
|
||
| [⊃(⊡1|⊡0|⋅0)] # XC0
|
||
| [⊃(⋅0|⊡0|⊡1)] # 0CX
|
||
| [⊃(⋅0|⊡1|⊡0)] # 0XC
|
||
| [⊃(⊡1|⋅0|⊡0)] # X0C
|
||
| [⊃(⊡0|⋅0|⊡1)] # C0X
|
||
)]
|
||
˜⊡⊙(⌊×6⊸⊣) # Add m to each.
|
||
×255+⊙⊡₂
|
||
)
|
||
≡(≡≡(÷255HsvToRgb[∘⊙1⊙1]-⊸⌊⁅₂+⊢)BaseImage) ÷50⇡50
|
||
≡(▽₂ 4)
|