Forth Haiku Salon
Top Haikus
More...
x y t sin 2 / 0.5 +
Minimal animation
Manwe (default ShaderToy shader remix)
'13 Dec 28
: d dup ; : f floor ; : i t 9 / d f - 0.5 - d 0 > 2 * 1 - * 2 / x + ; : m 256 * f 16 mod ; : l 2 i d >r m ** / f 2 mod swap y m = * + r> d 1 < swap 0.25 > * * y 0.5 > * y 0.85 < * ; : v f sin 2.2 / 0.5 + ; : a t 7 * sin 0 ; 0 8 544 l 7 2032 l 6 3544 l 4 6132 l 3 5140 l 2 864 l a > * 0 8 4644 l 7 6132 l 6 7644 l 4 4088 l 3 1040 l 2 2056 l a <= * + 9 1040 l 5 8188 l 1 y - * d 2 * t v d >r t 1 + v over - t d f - d >r * + x - abs 0.04 < y 0.025 < * 2 / r> y 0.03 - - abs 0.007 < r> x - abs 0.002 < * + + d 2 *
SPACE INVADERS
www.manwe.ru
'14 Jan 10
: square dup * ; : dist square swap square + sqrt ; : 2dup over over ; : spiral 0.5 - swap 0.5 - 2dup dist push atan2 0.01 * pop + 100 * sin ; x 0.03 - y spiral x y 0.03 - spiral x * y x spiral y *
fingers on chalkboard
BradN
'11 Apr 22
: square dup * ; : dist square swap square + sqrt ; : 2dup over over ; : spiral 0.5 - swap 0.5 - 2dup dist push atan2 0.01 * pop + 100 * sin ; x y spiral x y spiral x y spiral
Look into my Eyes
BradN
'11 Apr 22
: iii x y z* Sin ; x 5 * x y - iii exp y iii
light drop
BradN
'11 May 21
: q 2 ** ; 0 0 4 push : l x .5 - r@ 1 + * r@ 3 - t 1.9 / cos t 1.9 / sin z* y .5 - r@ 1 + * swap t 2.7 / cos t 2.7 / sin z* -rot q swap q + dup 8 * swap rot q + 1.8 + q - abs .03 < r@ / pop .2 - push max ; : j l l l l ; j j j j pop drop 1.5 * dup 2 ** swap
3D Wire Torus
Manwe
'16 Sep 11
( greetings to BradN, Boomlinde, Digimind, DarkstarAG, Ivanq, Vort, Frag_, Stainless, demoscene.ru ) : zoom t 5 / sin 10 / ; : xx x .5 - .8 zoom - * t cos 5 / negate + ; : yy y .3 - .8 zoom - * zoom + ; : a t sin 3 / + ; : line 2dup sin * negate xx + swap a tan * swap yy + swap - 160 * 1 min 0 max ; : wings .025 .12 line .025 -.12 line * -.025 .12 line - -.025 -.12 line - ; : flaps 0.045 .8 line 0.006 .4 line - 0.045 -.8 line 0.006 -.4 line - + + 0 max ; : tail -0.057 0 line xx .065 - yy atan2 a 0 > - xx .065 + yy atan2 a 0 < - 0 max + xx .0065 + yy atan2 a 55 * 1 min 0 max xx .0065 - yy atan2 a 55 * 1 min 0 max - + ; : cut 1 -0.064 0 line - * 0.019 0 line * ; : circle dup 0 a cos * xx - 2 ** swap 0 a sin * yy - 2 ** + - 3999 * 0 max 1 min ; : engine 0.0008 .05 circle + 0.0008 -.05 circle + ; : fire 0.0002 random 8000 / + dup >r .05 circle r> -.05 circle + 5 * ; : run 4 1 y 1.3 * - / t dup floor - 6 * + floor 2 mod dup y 1.6 * + 1 min .6 * swap 0 = y 1.6 * + 1 min .5 * ; : sun 1 x .5 - 2 ** y .94 - 2 ** + .2 ** - ; run sun + wings flaps tail cut engine dup -rot - -rot - dup 0 > fire dup dup >r >r + rot r> + rot r> .65 * + 0 max .27 ** dup .05 < .36 * +
Planet of Zoom
www.manwe.ru
'14 Feb 04
: r dup y 12 ** * t + sin swap x * cos + 1 mod ; 18 r 25 r dup 12 r /
Candy 69 bytes
Manwe + Digimind
'14 Jan 06
Recent Haikus
More...
: w 1 @ 0 @ atan2 dup 10 * sin swap t 2 @ + + sin * 0 @ 2 ** 1 @ 2 ** + sqrt log 10 * sin * ; x .5 - 4 * y .5 - 4 * 2dup 2dup z* 2dup z* z* 2dup 1 0 z+ >r -rot r> -rot -1 0 z+ 2dup 2dup negate z* drop >r negate z* r@ / swap r> / swap 3 t 10 mod ** 0 z* 1 ! 0 ! 1 2 ! w 3 2 ! w 5 2 ! w
Complex Number
SAKURA
'24 Dec 25
: x0 0 ; : y0 1 ; : grid x0 @ .5 + 0.1 mod 0.0025 < y0 @ .5 + 0.1 mod 0.0025 < or ; : offset x0 @ y0 @ z+ y0 ! x0 ! ; : rotate negate x0 @ y0 @ rot dup cos swap sin z* y0 ! x0 ! ; : zoom x0 @ y0 @ rot 0 z* y0 ! x0 ! ; x .5 - x0 ! y .5 - y0 ! t sin abs 3 * zoom t 10 / rotate .41 -.05 offset grid : pc x0 @ 32 * floor dup 1 + 9 / floor - ; : pr y0 @ 32 * floor ; : printrow 2 pc pow / floor 2 mod ; : data 0 swap dup 0 = 31599 * 0 z+ dup 1 = 18724 * 0 z+ dup 2 = 31183 * 0 z+ dup 3 = 31207 * 0 z+ dup 4 = 23524 * 0 z+ dup 6 = 29679 * 0 z+ dup 7 = 31012 * 0 z+ dup 8 = 31727 * 0 z+ dup 9 = 31719 * 0 z+ 5 = 29671 * + 8 rot pow / floor 8 mod ; pr t 10 mod floor data 16 * pr t 10 / 6 mod floor data + 16 * pr t 60 / 10 mod floor data + 16 * pr t 600 / 6 mod floor data + 16 * pr t 3600 / 10 mod floor data + 16 * pr t 36000 / 10 mod floor data + printrow dup
Clock Redux
SAKURA
'24 Dec 25
: w >r x .5 - y .5 - atan2 t r> / + 5 * sin x .5 - dup * y .5 - dup * + sqrt - ; 1.0 w 1.1 w 1.2 w + + 1.1 w 1.2 w + 1.2 w
Pentapetal
SAKURA
'24 Dec 23
: f 0 @ + t sin 35 + * t 4 / 1 @ * + sin 1 - abs cos 2 ** ; : w 1 ! x f y f * ; x y 0 1 z* 3 / 0 ! drop 3 w 4 w 5 w
Nostalgia
SAKURA
'24 Dec 22
: w r@ + t + 9.4 * sin r@ / ; .7 x .5 - 2 ** y .5 - 2 ** + sqrt / >r 0 w .22 w .44 w r> drop
Color tunnel Redux
SAKURA
'24 Dec 22
: d .5 - 2 ** ; : w 9 / t + 0 @ + pi 3 * * sin 2 ** abs 0 @ 0.7 ** / ; x d y d + sqrt 1 ! 1 @ 2 sqrt 2 / swap / 100 min 0 ! 0 w 1 w 2 w
Color tunnel
SAKURA
'24 Dec 22
: xor 2dup not and -rot swap not and or ; : init 0 @ 0 = if 1 0 ! 0.6 1 ! 0 2 ! 3 3 ! 0 4 ! 0 5 ! 0 6 ! 1 @ 7 ! 2 @ 8 ! 3 @ 9 ! 1 @ 10 ! 2 @ 11 ! 3 @ 12 ! then ; : mx0 x 0.5 - 3 @ * 1 @ - ; : my0 y 0.5 - 3 @ * 2 @ - ; : sq dup * ; : c sq swap sq + 4 > ; : it 2dup push push c + pop pop 2dup z* mx0 my0 z+ ; : zoom 1 @ 7 ! 2 @ 8 ! 3 @ 9 ! mx 1 my - + 1.9 > if 9 @ 3 * 12 ! else mx 0.6667 >= if 7 @ 9 @ 3 / - 10 ! then mx 0.3333 <= if 7 @ 9 @ 3 / + 10 ! then my 0.6667 >= if 8 @ 9 @ 3 / - 11 ! then my 0.3333 <= if 8 @ 9 @ 3 / + 11 ! then 9 @ 3 / 12 ! then 1 6 ! ; : anim 6 @ if t 5 @ - abs 3 * 1 min dup 1 = if 10 @ 1 ! 11 @ 2 ! 12 @ 3 ! 0 6 ! drop else dup dup >r >r >r 7 @ 10 @ 7 @ - r> * + 1 ! 8 @ 11 @ 8 @ - r> * + 2 ! 9 @ 12 @ 9 @ - r> * + 3 ! then then ; : handle-click 0 button if 4 @ if else t 5 ! zoom 1 4 ! then else 0 4 ! then ; : grid x 0.3333 mod 0.002 < y 0.3333 mod 0.002 < or x 1 y - + 1.9 > or ; init handle-click anim 0 mx0 my0 it it it it it it it it it it it it it it it it it it it drop drop 0.8 swap dup 20 / swap 20 / 1.2 * 1 min >r >r >r grid not dup dup r> * -rot r> * swap r> *
mandelbroat colored Redux Redux
SAKURA
'24 Dec 21
: xor 2dup not and -rot swap not and or ; : init 0 @ 0 = if 1 0 ! 0.6 1 ! 0 2 ! 3 3 ! 0 4 ! then ; : mx0 x 0.5 - 3 @ * 1 @ - ; : my0 y 0.5 - 3 @ * 2 @ - ; : sq dup * ; : c sq swap sq + 4 > ; : it 2dup push push c + pop pop 2dup z* mx0 my0 z+ ; : zoom mx 1 my - + 1.9 > if 3 @ 3 * 3 ! else mx 0.6667 >= if 1 @ 3 @ 3 / - 1 ! then mx 0.3333 <= if 1 @ 3 @ 3 / + 1 ! then my 0.6667 >= if 2 @ 3 @ 3 / - 2 ! then my 0.3333 <= if 2 @ 3 @ 3 / + 2 ! then 3 @ 3 / 3 ! then ; : handle-click 0 button if 4 @ if else zoom 1 4 ! then else 0 4 ! then ; : grid x 0.3333 mod 0.002 < y 0.3333 mod 0.002 < or x 1 y - + 1.9 > or ; init handle-click 0 mx0 my0 it it it it it it it it it it it it it it it it it it it \ it drop drop 0.8 swap dup 20 / swap 20 / 1.2 * 1 min >r >r >r grid not dup dup r> * -rot r> * swap r> *
mandelbroat colored Redux
SAKURA
'24 Dec 21