aboutsummaryrefslogtreecommitdiffstats
path: root/root/animations/koch
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2018-11-22 07:44:13 +0000
committers-ol <s-ol@users.noreply.github.com>2018-11-22 07:46:03 +0000
commit9bb005e8084c00c18af77e5795dc62d74b793b47 (patch)
treed2ae687ca6da00733fd5ce726d7258210ac121f4 /root/animations/koch
parentfix $order error logs (diff)
downloadmmm-9bb005e8084c00c18af77e5795dc62d74b793b47.tar.gz
mmm-9bb005e8084c00c18af77e5795dc62d74b793b47.zip
start adding content from s-ol.nu
Diffstat (limited to 'root/animations/koch')
-rw-r--r--root/animations/koch/description: text$plain1
-rw-r--r--root/animations/koch/text$moonscript -> mmm$component.moon104
2 files changed, 0 insertions, 105 deletions
diff --git a/root/animations/koch/description: text$plain b/root/animations/koch/description: text$plain
deleted file mode 100644
index a0b96e7..0000000
--- a/root/animations/koch/description: text$plain
+++ /dev/null
@@ -1 +0,0 @@
-lil' fractal thing
diff --git a/root/animations/koch/text$moonscript -> mmm$component.moon b/root/animations/koch/text$moonscript -> mmm$component.moon
deleted file mode 100644
index 4f97329..0000000
--- a/root/animations/koch/text$moonscript -> mmm$component.moon
+++ /dev/null
@@ -1,104 +0,0 @@
-assert MODE == 'CLIENT', '[nossr]'
-Math = window.Math
-
-import CanvasApp from require 'mmm.canvasapp'
-import hsl from require 'mmm.color'
-
-class KochDemo extends CanvasApp
- width: 600
- height: 600
- length: math.pi * 2
-
- new: (@iterations=3) =>
- super true
- hue = Math.random!
- @background = {1 - hue, .3, .3}
-
- @shades = setmetatable {}, __index: (tbl, key) ->
- with val = hsl { hue, .7, .9 - .5 * (key / @iterations)} do rawset tbl, key, val
-
- a_sixth = math.pi / 3
- a_third = 2 * a_sixth
- cossin = (a) -> (math.cos a), math.sin a
- triangle: (color) =>
- @ctx.fillStyle = color
- @ctx\beginPath!
- @ctx\moveTo cossin 0
- @ctx\lineTo cossin a_third
- @ctx\lineTo cossin 2*a_third
- @ctx\fill!
-
- update: (dt) =>
- super dt * 1.6
-
- draw: =>
- @ctx.fillStyle = hsl @background
- @ctx\fillRect 0, 0, @width, @height
-
- @ctx\translate @width/2, @height/2
- s = .3 * math.min @width, @height
- @ctx\scale s, s
-
- _scale = 0.8 + 0.2 * math.sin math.pi + @time
-
- ttime = @time - math.pi/2
- transfer, flipped = 0
- if ttime > 0 and ttime < math.pi
- transfer = .5 - .5 * math.cos ttime
- flipped = true
-
- draw = (i, pop) ->
- @triangle @shades[i]
-
- extra = not pop and flipped
- return unless i > (if extra then -1 else 0)
-
- scale = _scale
- if (pop and i < 1) or (not pop and i < 0)
- scale = transfer
-
- @ctx\save!
- @ctx\rotate -(a_sixth + a_third)
- @ctx\scale scale, scale
-
- for o=1,2
- @ctx\rotate a_third
- @ctx\save!
- @ctx\translate .5 + .5/scale, 0
- draw i - 1, pop
- @ctx\restore!
-
- @ctx\restore!
-
- @ctx\rotate a_sixth/2
- @ctx\translate -transfer, 0
- @ctx\rotate a_sixth * transfer
-
- @triangle @shades[3 - transfer]
-
- @ctx\save!
- @ctx\rotate a_sixth
- @ctx\scale _scale, _scale
-
- @ctx\save!
- @ctx\translate .5 + .5/_scale, 0
- draw 2 - transfer
- @ctx\restore!
-
- @ctx\rotate a_third
-
- @ctx\save!
- @ctx\translate .5 + .5/_scale, 0
- draw 2 - transfer
- @ctx\restore!
-
- @ctx\rotate a_third
-
- @ctx\save!
- @ctx\translate .5 + .5/_scale, 0
- draw 2 + transfer, true
- @ctx\restore!
-
- @ctx\restore!
-
-KochDemo!