diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2018-11-22 07:44:13 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2018-11-22 07:46:03 +0000 |
| commit | 9bb005e8084c00c18af77e5795dc62d74b793b47 (patch) | |
| tree | d2ae687ca6da00733fd5ce726d7258210ac121f4 /root/animations/koch | |
| parent | fix $order error logs (diff) | |
| download | mmm-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$plain | 1 | ||||
| -rw-r--r-- | root/animations/koch/text$moonscript -> mmm$component.moon | 104 |
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! |
