Haiku Gallery
t x 10 * + sin .1 * 0 1 x 10 * cos .1 t cos * * y - .5 + sqrt -
Sea Change Redux
Anonymous
'25 May 31
: z .5 - t 11 / sin 2 + / ; : asin t 3 / sin 2 / 1 + over dup * - sqrt atan2 ; : l 2dup dup * swap dup * + sqrt dup >r -rot r> dup * swap over / -rot / t .154 * - sin asin swap t .2485 * + sin asin 2dup dup * swap dup * + 1 swap - 0 max 1 mod 6 * 3 - abs 0 max 1 min >r rot 1 r> - * 1 + r> + >r ; 0 >r x z y z l l l l r> 4 / / over 1 swap - ( welcome to http://thesands.ru/forth-demotool/ )
Psychedelic
Manwe
'25 May 31
: i 2dup z* log ; x .5 - y .5 - i i i log over
Primrose flower (haiku)
adg
'25 May 31
: f .5 - t tan * 50 * ; x f y f 2dup z* log
Quadricuspid Valve (haiku)
adg
'25 May 31
( Simple transformations ) : rotate ( x y angle - x' y' ) dup push sin pop cos negate z* ; : tran ( x y dx dy - x' y' ) z+ ; : scale ( x y k - x' y' ) dup negate z* ; y x atan2 x dup * -.5 -.5 tran 5 scale t rotate
X
DarkstarAG
'25 May 31
( : >z0 -.5 -.5 z+ ; : rotate [ x y a - x' y' ] dup sin >r cos r> z* ; : x x y >z0 2 2 z* t rotate drop ; : y x y >z0 2 2 z* t rotate swap drop ; ) : x x .5 + 2 / 0.24 - ; : y y .5 + 2 / 0.06 - ; : hexagon ( - k ) x y 3 sqrt / - abs 0.1 < x 0.5 - y 3 sqrt / + abs 0.1 < and y 0.435 - abs 0.091 < and ; hexagon
Hexagon 0
DarkstarAg
'25 May 31
: x x 2 * ; : y y 2 * ; : :) sin abs t sin 0.2 + 10 * pow 1.2 / ; x 2.1 * y - 15 * t + :) x 0.6 * y - 25 * t - :) x -6.1 * y - 5 * t - :)
Blinds
DarkstarAg
'25 May 31
: x x y 7 * sin 6 / + ; : k 42 ; : s t 2 * sin 2 / -0.15 + ; : f sin x k * sin x k 13 / * tan * * s + 100 pow ; t 3 * y k * + f x 7 * 2.9 + cos 1 + sqrt 3 pow
Yellow Way Redux2
DarkstarAg
'25 May 31
: x x y 7 * sin 6 / + ; : k 42 ; : s t 2 * sin 2 / -0.15 + ; : f sin x k * sin x k 13 / * tan * * s + 100 pow ; t 3 * y k * + f x 7 * 2.9 + cos 1 + sqrt 3 pow
Yellow Way Redux2
DarkstarAg
'25 May 31
: x x y x 4 * cos * 5 * sin 4 / + ; : k 42 ; : s t 2 * sin 2 / -0.15 + ; : f sin x k * sin x k 13 / * tan * * s + 100 pow ; t 3 * y k * + f x 7 * 2.9 + cos 1 + sqrt 3 pow
Yellow Way Redux
DarkstarAg
'25 May 31
: i 2dup z* t sin dup z+ ; x y i i i i i sqrt
Julia haiku
adg
'25 May 31
: f t sin log abs .32 + 200 * dup push * floor pop / ; : x x f ; : y y f ; : c t 0.01398413 + sin t -0.9132423 + sin ; : i 2dup z* c z+ ; : n dup * swap dup * + ; : j 2dup >r >r n 16 > + r> r> i ; : scale .5 - t sin abs .64 * 1.6 + pi * * .5 * ; : sclxy scale swap scale swap ; : i4 j j j j ; : julia 0 x y sclxy i4 i4 i4 i4 drop drop ; 0 julia dup push 16 / pop sqrt
Focusing on Julia
adg
'25 May 31
: f t sin log abs 100 * dup push * floor pop / ; : x x f ; : y y f ; 1 y 2 * - x y 2 * 8 ** t 9 / sin * + .5 - abs 2dup > .5 y - * -rot 45 * > 3 1 y 1.8 * - / t 1 mod 6 * + floor 2 mod 1 y 1.8 * - * 4 / * + dup 0 = .5 y - * .75 ** y .5 < * over + over 1 x t 9 / cos + 12 * sin 30 / y .6 - < * + 1.5 y 1.3 * - y .5 > * -
Falling Asleep (was: Night Road Redux)
adg
'25 May 31
: sqr 2 ** ; : rep * dup floor - ; : rou 2 * 1 - sqr ; : cir y rep rou swap x rep rou + ; : neg 1 - negate ; : to1 1 + 2 / ; : mul * 3 / + sin to1 - ; : t10 t pi 6 mul ; : t11 t pi 3 mul ; : t20 t pi 2 mul ; : t21 t pi 5 mul ; : t30 t pi 4 mul ; : t31 t pi 1 mul ; 3 t10 3 t10 cir neg t10 3 t10 3 t10 cir neg t11 max 3 t20 3 t20 cir neg t20 3 t20 3 t20 cir neg t21 max 3 t30 3 t30 cir neg t30 3 t30 3 t30 cir neg t31 max
Circles pulse
Shabohin
'25 May 31
1 t x 10 * + sin .1 * y - 0.5 + sqrt - 0 1 x 10 * cos .1 t cos * * y - .5 + sqrt -
Sea Change
hektor441
'25 May 31
1 x 0.7 - dup * x sqrt * 3.3 * y - 0.3 + sqrt - random 0.3 *
x*x*sqrt(x)
hektor441
'25 May 31
: f 16 * floor 16 / ; x f y f max t sin abs mod
Up and to the Right haiku
adg
'25 May 31
: xy x y + t cos abs + ; : yx y x - t cos abs + ; : x' x t sin abs + ; : y' y t sin abs + ; x' 0.1 > x' 0.2 < and x' 0.3 > x' 0.4 < and or x' 0.5 > x' 0.6 < and or x' 0.7 > x' 0.8 < and or x' 0.9 > x' 1.0 < and or x' 1.1 > x' 1.2 < and or x' 1.3 > x' 1.4 < and or x' 1.5 > x' 1.6 < and or x' 1.7 > x' 1.8 < and or t cos abs * y' 0.1 > y' 0.2 < and y' 0.3 > y' 0.4 < and or y' 0.5 > y' 0.6 < and or y' 0.7 > y' 0.8 < and or y' 0.9 > y' 1.0 < and or y' 1.1 > y' 1.2 < and or y' 1.3 > y' 1.4 < and or y' 1.5 > y' 1.6 < and or y' 1.7 > y' 1.8 < and or t cos abs * xy 0.2 > xy 0.4 < and xy 0.6 > xy 0.8 < and or xy 1.0 > xy 1.2 < and or xy 1.4 > xy 1.6 < and or xy 1.8 > xy 2.0 < and or xy 2.2 > xy 2.4 < and or xy 2.6 > xy 2.8 < and or t sin abs * yx -1.2 > yx -1.0 < and yx -0.8 > yx -0.6 < and or yx -0.4 > yx -0.2 < and or yx 0.0 > yx 0.2 < and or yx 0.4 > yx 0.6 < and or yx 0.8 > yx 1.0 < and or yx 1.2 > yx 1.4 < and or yx 1.6 > yx 1.8 < and or - t sin abs * 1 z*
Tessellation #5
adg
'25 May 31
: xy x y + t cos abs + ; : yx y x - t cos abs + ; : x' x t sin abs + ; : y' y t sin abs + ; x' 0.1 > x' 0.2 < and x' 0.3 > x' 0.4 < and or x' 0.5 > x' 0.6 < and or x' 0.7 > x' 0.8 < and or x' 0.9 > x' 1.0 < and or x' 1.1 > x' 1.2 < and or x' 1.3 > x' 1.4 < and or x' 1.5 > x' 1.6 < and or x' 1.7 > x' 1.8 < and or t cos abs * y' 0.1 > y' 0.2 < and y' 0.3 > y' 0.4 < and or y' 0.5 > y' 0.6 < and or y' 0.7 > y' 0.8 < and or y' 0.9 > y' 1.0 < and or y' 1.1 > y' 1.2 < and or y' 1.3 > y' 1.4 < and or y' 1.5 > y' 1.6 < and or y' 1.7 > y' 1.8 < and or t cos abs * xy 0.2 > xy 0.4 < and xy 0.6 > xy 0.8 < and or xy 1.0 > xy 1.2 < and or xy 1.4 > xy 1.6 < and or xy 1.8 > xy 2.0 < and or xy 2.2 > xy 2.4 < and or xy 2.6 > xy 2.8 < and or t sin abs * yx -1.2 > yx -1.0 < and yx -0.8 > yx -0.6 < and or yx -0.4 > yx -0.2 < and or yx 0.0 > yx 0.2 < and or yx 0.4 > yx 0.6 < and or yx 0.8 > yx 1.0 < and or yx 1.2 > yx 1.4 < and or yx 1.6 > yx 1.8 < and or - t sin abs * 1 z+
Tessellation #4
adg
'25 May 31
: xy x y + ; : yx y x - ; x 0.1 > x 0.2 < and x 0.3 > x 0.4 < and or x 0.5 > x 0.6 < and or x 0.7 > x 0.8 < and or x 0.9 > x 1.0 < and or y 0.1 > y 0.2 < and y 0.3 > y 0.4 < and or y 0.5 > y 0.6 < and or y 0.7 > y 0.8 < and or y 0.9 > y 1.0 < and or xy 0.2 > xy 0.4 < and xy 0.6 > xy 0.8 < and or xy 1.0 > xy 1.2 < and or xy 1.4 > xy 1.6 < and or xy 1.8 > xy 2.0 < and or yx -0.8 > yx -0.6 < and yx -0.4 > yx -0.2 < and or yx 0.0 > yx 0.2 < and or yx 0.4 > yx 0.6 < and or yx 0.8 > yx 1.0 < and or z*
Tessellation #3
adg
'25 May 31
: xy x y + ; : yx y x - ; x 0.1 > x 0.2 < and x 0.3 > x 0.4 < and or x 0.5 > x 0.6 < and or x 0.7 > x 0.8 < and or x 0.9 > x 1.0 < and or y 0.1 > y 0.2 < and y 0.3 > y 0.4 < and or y 0.5 > y 0.6 < and or y 0.7 > y 0.8 < and or y 0.9 > y 1.0 < and or xy 0.2 > xy 0.4 < and xy 0.6 > xy 0.8 < and or xy 1.0 > xy 1.2 < and or xy 1.4 > xy 1.6 < and or xy 1.8 > xy 2.0 < and or yx -0.8 > yx -0.6 < and yx -0.4 > yx -0.2 < and or yx 0.0 > yx 0.2 < and or yx 0.4 > yx 0.6 < and or yx 0.8 > yx 1.0 < and or z+
Tessellation #2
adg
'25 May 31
: xy x y + ; : yx y x - ; x 0.1 > x 0.2 < and x 0.3 > x 0.4 < and or x 0.5 > x 0.6 < and or x 0.7 > x 0.8 < and or x 0.9 > x 1.0 < and or y 0.1 > y 0.2 < and y 0.3 > y 0.4 < and or y 0.5 > y 0.6 < and or y 0.7 > y 0.8 < and or y 0.9 > y 1.0 < and or xy 0.2 > xy 0.4 < and xy 0.6 > xy 0.8 < and or xy 1.0 > xy 1.2 < and or xy 1.4 > xy 1.6 < and or xy 1.8 > xy 2.0 < and or yx -0.8 > yx -0.6 < and yx -0.4 > yx -0.2 < and or yx 0.0 > yx 0.2 < and or yx 0.4 > yx 0.6 < and or yx 0.8 > yx 1.0 < and or - - -
Tassellation #1
adg
'25 May 31
t sin abs y x t tan abs z* over -50 random z* t cos exp z*
Friction Haiku
adg
'25 May 31
: d dup ; : ' .8 / ; : r x ' d + y ' d + * sqrt ; : lx t 7 + 10 * sin 2 + ; : ly t 7 + 10 * sin 2 * ; : lr lx d * ly d * + .16 + sqrt ; : z r 80 / sin 45 + ; : m lr / * 0 max ; x ' r / z * lx mod y ' r / z / ly mod r 85 - cos 1 * .85 + .4 r 44 / cos 1 + 6 + * m + 1 x > 3 ' lx - d - y ' ly - d * + sqrt - 0 mod 1 + d d / 2 +
Golden bump Redux
albin
'25 May 31
: c push negate swap negate y x z+ dup * swap dup * + pop dup * < ; : l push -rot negate swap negate y x z+ 2dup dup * swap dup * + pop dup * < push atan2 - abs 0.5 < pop * ; : p dup rot dup sin swap cos rot * -rot / rot * -rot + swap ; : a t 10 * sin ; : b a 7.7 * ; : m x 10 * + + sin 1 over dup * - sqrt atan2 swap / y 0.9 - > ; 0.9 0.7 -1.57 0.3 l 0.9 0.7 -1.57 a + 0.15 l + 0.9 0.7 -1.57 a + 0.15 p -2 b + 0.9 l + 0.8 0.9 -1.57 a - 0.07 l + 0.8 0.9 -1.57 a - 0.07 p -2 b - 0.2 l + 0.7 0.8 -1.57 a + 0.1 l + 0.7 0.8 -1.57 a + 0.1 p -0.5 b + 0.1 l + 0.7 0.8 -1.57 a - 0.1 l + 0.7 0.7 -1.57 a - 0.1 p -0.5 b - 0.1 l + 0.5 0.7 0.05 c + dup 0 swap 15 1 t 2 / m 20 3 t m + 25 0 t 4 / m 35 4 t 4 / m + + y 0.2 > * +
Man running with landscape Redux
albin
'25 May 31
: d dup ; : mod ; : m 0.7 * 0.5 + - ; : a y - abs 0.1 < y ; : r t swap / d floor - 0.56 / 0.98 - d 2 < 2 * 1 - * 0.01 + ; : e 2.9 r 0.94 * 0.03 + ; : f 3.7 r ; : p f 0.9 * 0.8 + d t ; e x - d * f y - d * + sqrt 0.02 < p 3 * sin m e / - a 0.03 < * p 2 * cos m 1 e - * - a 0.97 > * + + d d
PONG game Redux
albin
'25 May 31
.64 dup x .64 - y .64 - 2 ** swap 2 pow + .032 / 1
Purple Haze Haiku
adg
'25 May 31
: t+ t 10 / + ; : s pi 20 * * sin ; x t+ s y t+ s + x 4 / t+ s y 4 / t+ s + + dup 0.42195733 + x 4 / t+ s y 4 / t+ s +
Halo
khrf
'25 May 31
: v t 3600 / floor ; ( hour ) : u t 60 / floor 60 mod ; ( minute ) : s t floor 60 mod ; ( second ) : z swap / floor 2 mod 0 <> ; : x0 x 0.20 > x 0.25 < * * * * ; : x1 x 0.30 > x 0.35 < * * * * ; : x2 x 0.40 > x 0.45 < * * * * ; : x3 x 0.50 > x 0.55 < * * * * ; : x4 x 0.60 > x 0.65 < * * * * ; : x5 x 0.70 > x 0.75 < * * * * ; : x6 x 0.80 > x 0.85 < * * * * ; : x7 x 0.90 > x 0.95 < * * * * ; : y1 y 0.1 > y 0.15 < ; : y2 y 0.2 > y 0.25 < ; : y3 y 0.3 > y 0.35 < ; : q7 1 v z ; ( hour ) : q6 2 v z ; : q5 4 v z ; : q4 8 v z ; : q3 16 v z ; : q2 32 v z ; : q1 64 v z ; : q0 128 v z ; : c0 q0 y3 x0 ; : c1 q1 y3 x1 ; : c2 q2 y3 x2 ; : c3 q3 y3 x3 ; : c4 q4 y3 x4 ; : c5 q5 y3 x5 ; : c6 q6 y3 x6 ; : c7 q7 y3 x7 ; : p7 1 u z ; ( minute ) : p6 2 u z ; : p5 4 u z ; : p4 8 u z ; : p3 16 u z ; : p2 32 u z ; : p1 64 u z ; : p0 128 u z ; : b0 p0 y2 x0 ; : b1 p1 y2 x1 ; : b2 p2 y2 x2 ; : b3 p3 y2 x3 ; : b4 p4 y2 x4 ; : b5 p5 y2 x5 ; : b6 p6 y2 x6 ; : b7 p7 y2 x7 ; : o7 1 s z ; ( second ) : o6 2 s z ; : o5 4 s z ; : o4 8 s z ; : o3 16 s z ; : o2 32 s z ; : o1 64 s z ; : o0 128 s z ; : a0 o0 y1 x0 ; : a1 o1 y1 x1 ; : a2 o2 y1 x2 ; : a3 o3 y1 x3 ; : a4 o4 y1 x4 ; : a5 o5 y1 x5 ; : a6 o6 y1 x6 ; : a7 o7 y1 x7 ; c0 c1 c2 c3 c4 c5 c6 c7 + + + + + + + ( hour ) b0 b1 b2 b3 b4 b5 b6 b7 + + + + + + + ( minute ) a0 a1 a2 a3 a4 a5 a6 a7 + + + + + + + ( second )
BitClock Redux
Vim
'25 May 31
: d dup ; : f floor ; : i t 9 / d f - 0.5,9 - d 0 > 2 * 1 - * 2 / x + ; : m 238 * 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.01 < r> x - abs 0.023 < * + + d 2 *
SPACE INVADERS Redux 2.0
vim
'25 May 31
t : d dup ; : m 0.4 * 0.53 + - ; : a y - abs 0.1 < x ; : r t swap / d floor - 1.96 * 0.98 - d 0 > 2 * 1 - * 0.01 + ; : e 2.9 r 0.94 * 0.03 + ; : f 3.7 r ; : p f 0.9 * 0.05 + d t ; e x - d * f y - d * + sqrt 0.02 < p 3 * sin m e * - a 0.03 < * p 2 * cos m 1 e - * - a 0.97 > * + + d d mod
PONG game Redux
vim
'25 May 31
: q dup * ; : dst q swap q + sqrt ; : acos dup q 1 - negate sqrt swap 1 + atan2 2 * ; : r 0.5,21 ; : ' 0.5,3 - ; : l x ' y ' dst ; : in? l r < ; : z r q l q - sqrt ; : th y ' acos 2 * pi / ; : ph z x ' atan2 pi / t 10 / + ; ( : txtr 25 25 z* cos >r cos r> < 0.3 max ; ) : txtr 25 -25 z* cos swap cos max abs 16 pow ; : xy x .5,3 - y .5 - t 2 * 4 + sin 9 / t 6 * y + sin 5 / z+ ; : r xy t 3 * sin 3 / t 4 * sin 5 / z+ 2dup negate z* + sqrt ; : a atan2 24 / ; : r'' a abs log 2 / ; : txtr r'' r - .12 - abs 2 ** .01 - ; ph th txtr z * in? * : rainbow ( .f - r g b ) dup 3,89 * 1 + sin swap dup 3 * 0,002 + sin swap dup 3,9 * 5,3 + sin swap drop ; t 12 / sin 5 * + rainbow
Apple! Redux coluor
vim
'25 May 31
: k 0.789 - ; : s k dup * ; : dist x s y s + sqrt ; 0 dist sqrt sqrt sqrt sqrt sqrt 400 * t 18 * - sin x k y k atan2 dist 10 * sin 0.1 * + t + 10 * sin 6 * *
tunnel Redux 2.6
vim
'25 May 31
: l dup * swap 2dup push / + sqrt ; y x l t sin pop
Forth Haiku Glossary Haiku #2
adg
'25 May 31
: 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 dup dup
More efficient spiral example
Anonymous
'25 May 31
: l t cos x sin y tan .5 ; l dup * z* l z+ mod
Forth Haiku Glossary Haiku #1
adg
'25 May 31
: x x 2 * 1 - ; : y y 2 floor * 3 - ; : d dup ; : o over ; : l o -2 * o * 4 t 3 / sin - + >r o x * o / >r o y * o / 1 + d 1 - t sin + ( jump ) d 2 * 20 ** swap 2 ** min r> r> ( rotate ) 2dup t cos * swap t sin * - >r t sin * swap t cos * + d 2 * 20 ** swap 2.5 ** min + r> .6 ** + sqrt 1 - min rot + swap ; 0 x d * y d * + 4 + sqrt l l l l l l l l l l l drop d 4.5 / 2 ** swap 9 / d 20 / 1 swap - -rot ( colors )
hacked Ray Castiing Redux
Lolapan
'25 May 31
: d ( x n - d ) 2 swap ** / floor 2 mod ; : pi 3.1415926 ; y t 3 / pi mod x atan2 5 * * x t 10 / sin + * x 3 * t 3 / + pi * 2 * sin 10 * floor negate d
Binary Carpet Columns of Signs
DarkstarAg
'25 May 31
: x x 2 * 1 - ; : y y 2 floor * 1 - ; : d dup ; : o over ; : l o -2 * o * 4 t 3 / sin - + >r o x * o / >r o y * o / 1 + d 1 - t sin + ( jump ) d 2 * 20 ** swap 2 ** min r> r> ( rotate ) 2dup t cos * swap t sin * - >r t sin * swap t cos * + d 2 * 20 ** swap 2.5 ** min + r> .6 ** + sqrt 1 - min rot + swap ; 0 x d * y d * + 4 + sqrt l l l l l l l l l l l drop d 4.5 / 2 ** swap 9 / d 20 / 1 swap - -rot ( colors )
hacked Ray Castiing
aaaj min mageeeq
'25 May 31
t 1 mod x 23 * sin 2 / y max / sin y x 23 * sin 2 / x max / random + sin over/ floor
hacked 4spiree
Anonymous
'25 May 31
Next