Haiku Gallery
0 0.5 0
Untitled
Anonymous
'24 Nov 27
: rand random 0.5 - t sin * ; : x0 x 0.5 - 4 * rand + ; : y0 y 0.5 - 4 * rand + ; : r t 15 mod 1 + 3 / ; : dist x0 r ** y0 r ** + 1 r / ** ; dist 1 < random * dup random * dup random * 3 * x 3 and
Shape Shifter Redux
vim
'24 Nov 27
t random mod x 2
randomblue
Anonymous
'24 Nov 27
t : skin over z* ; y x t tan skin over sin sin over tan skin /
raderchek
vim
'24 Nov 27
t : trail t 4 * x + + sin y 2 * 1 - - abs 1 swap - ; t y + trail t sin x - trail t cos trail mod
Rainbowred
Anonymous
'24 Nov 27
y t - x y mod mod pi * x 12
blumpixle
vim
'24 Nov 27
t : d dup ; : m 1 min ; : f d floor - ; : c cos abs ; : j t 4 + 2 * x 8 * floor 8 / + 4 * c 2 / t 4 + 2 / c 4 ** * - ; : a 1 x x 8 * floor 0.5 + 8 / - d * y ; : b - d * + sqrt 50 * 8 ** ; : p x t 4 + pi / f 1.6 * - 0.2 + ; : v t 4 + pi 2 * / f ; a j 0.5 b - v d 0.5 < * 4 * m * 1 p d * y 0.5 - d * + 36 * 30 ** m - y 0.5 - p atan2 abs t 10 * c 0.8 * - 16 * m * 0 max a 0.5 b - 0 max d p 16 * < * + p d * y 0.58 b m * v 0.5 >= * + d 0.2 mod
PACMAN hac
vim
'24 Nov 27
t x t + y mod dup
redusin
vim
'24 Nov 27
t ( inspired by "Web Wars" game on Vectrex console ) ( let's discuss Forth Haiku on demoscene.ru forum ) : t t 11 + ; : d dup ; : fract d floor - ; : n 6 ; : xx x .5 - ; : yy y .5 - ; : xw x .5 - 10 * ; : yw y .37 - t 2.5 * 1.1 - sin 30 / - 12 * ; : dx t n / floor sin 2 * ; : dy t n / floor cos 2 * ; : zoom 1 1 t n / fract - 50 * 1 + / ; : phase t fract pi * 2 * ; : wings 1 xw cos t 2.5 * sin * xx abs .5 + * yw - abs - 1 xx 2.3 * abs - sqrt * 0 max 8 ** d >r 20 * 4 ** 1 min max r> 9 * 4 ** 1 min - ; 5 xx d * yy d * + sqrt d -rot / phase + sin abs over 9 * 4 ** ** swap .15 max .15 - * 4 * 1 zoom dx over * xx - d * over dy * yy - d * + sqrt swap 2dup >r >r 2 / - - abs 200 ** 1 min max 1 r> r> 2.2 / - - abs 200 ** - 0 max 1 min wings d d mod
Vectrex fix Redux red
vim
'24 Nov 27
t ( 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 * + mod
Planet in de sune
vim
'24 Nov 27
t ( 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 * + mod
Planet in de sune
Anonymous
'24 Nov 27
t : z^2 2dup z* ; : layer push push z^2 pop pop 2dup push push z+ pop pop ; : many layer layer layer layer layer layer layer layer layer layer ; : len dup * swap dup * + ; : mant y 0.7 - 3 * x 0.5 - 3 * many drop drop len dup 1 < * ; 0 0 mant 0.1 0.1 mant 0.2 0.2 mant
blaming
Anonymous
'24 Nov 27
t x y t sin 2 / 0.5 + mod
rader
vim
'24 Nov 27
( based on my complex library ) : z1/ ( 1 divided by a complex number ) over dup * over dup * + rot over / -rot / ; : zmodule ( module of a complex number ) dup * swap dup * + sqrt ; : zarg ( arg of a complex number ) swap atan2 ; : e^ ( e raised to a complex power ) over exp over cos * -rot sin swap exp * ; : zln ( logarithm of a complex number ) 2dup zmodule log -rot zarg ; : z^ ( complex number raised to a complex power ) push push zln pop pop z* e^ ; : a .1 .5 ; : b -.1 .9 ; : c -2 t 30 / sin 2 * 1 + ; : d .6 .5 ; : f 2dup push push a z* b z+ c pop pop z* d z+ c z^ z1/ zln z* e^ ; x .5 - y .5 - f f f f f 2dup zmodule swap abs
Zebra glitch
Manwe
'24 Nov 27
( based on my complex library ) : z1/ ( 1 divided by a complex number ) over dup * over dup * + rot over / -rot / ; : zmodule ( module of a complex number ) dup * swap dup * + sqrt ; : zarg ( arg of a complex number ) swap atan2 ; : e^ ( e raised to a complex power ) over exp over cos * -rot sin swap exp * ; : zln ( logarithm of a complex number ) 2dup zmodule log -rot zarg ; : z^ ( complex number raised to a complex power ) push push zln pop pop z* e^ ; : a .1 .5 ; : b -.1 .9 ; : c -2 t 30 / sin 2 * 1 + ; : d .6 .5 ; : f 2dup push push push push a pop pop z* b z+ c pop pop z* d z+ c z^ z1/ e^ z* zln ; x 9 / y 9 / f f f 2dup zmodule swap abs rot
Microscope
Manwe
'24 Nov 27
: dec dup floor - ; : s t 20 / dec ; : a pi * sin ; x s + a y s + a * x s - a y s - a * x s + a y s - a *
Unfocused merging balls Redux [Slow]
Christer Nilsson
'24 Nov 27
: dec dup floor - ; t dec x + pi * sin t dec y + pi * sin * x t dec - pi * sin y t dec - pi * sin * x t dec + pi * sin y t dec - pi * sin *
Unfocused merging balls
Christer Nilsson
'24 Nov 27
: n 12 * 6 - ; y n 3 / x n sin - abs : d x n cos negate dup * 1 + sqrt ; d / 0.12 pow dup dup
simple sine
Anonymous
'24 Nov 27
x y *
Untitled
Anonymous
'24 Nov 27
: sq dup * ; : xs 10 mod .1 * ; : xpos xs x - abs ; : ypos xs y - abs ; : rad sq swap sq + sqrt ; : circle rot xpos rot ypos rad swap .01 * > ; : n negate ; : bl t t ; : tl bl n ; : br tl swap ; : tr br n ; : pulsar t xs * tan circle ; : s dup x swap > swap y < = ; : m 600 pulsar = ; : l 800 pulsar = ; .4 .4 br m bl m br m tl m tr m 1 bl l br l tl l tr l .00 s .04 s .06 s .08 s .92 s .94 s .96 s 1 s = = = = = = =
blue sky phosphenes
E.A.
'24 Nov 27
x y sqrt max x y dup * min
flame
E.A.
'24 Nov 27
( BATMAN CODE ) : rotate ( x y a - x' y' ) dup push sin pop cos z* ; : xy x y -0.5 -0.5 z+ t 0.8 * sin 2 / 1.57 + rotate 0.5 0.5 t sin 4 / 0 z+ z+ ; : x xy drop ; : y xy swap drop ; : sqr dup * ; : /x/ ( f l u - [l<x && x<=u]*f ) x >= push x < pop and and ; : /y/ ( f l u - [l<y && y<=u]*f ) y >= push y < pop and and ; : k 0.003 ; : kurve - abs k < ; : par1-l x sqrt 3 / y 0.5 - kurve ; : par1-r 1 x - sqrt 3 / y 0.5 - kurve ; : par2-l 0.4 x - sqr 10 * y 0.59 - kurve ; : par2-r 0.6 x - sqr 10 * y 0.59 - kurve ; : head x 0.5 - 1.6 * abs 4 * 0.31 - abs 0.15 - abs y 0.59 - - abs 0.013 < x 0.5 - abs 0.04 > * ; : head-ln x 0.5 - abs 0.04 > y 0.68 - kurve ; : par3 x 0.5 - 1.2 / sqr y 0.372 - 1.2 * kurve ; : par4 x 0.5 - 20 * sin abs sqrt x 0.5 - sqrt + 8 / y 0.283 - kurve ; 0 0 par1-l 0.0 0.3 /x/ par1-r 0.7 1.0 /x/ or par2-l 0.3 0.43 /x/ or par2-r 0.57 0.7 /x/ or head 0.43 0.57 /x/ or head-ln or par3 0.4238 0.51 /y/ or par4 0.2 0.8 /x/ or
Batman Flying
DarkstarAG
'24 Nov 27
( BATMAN CODE ) : sqr dup * ; : /x/ ( f l u - [l<x && x<=u]*f ) x >= push x < pop and and ; : /y/ ( f l u - [l<y && y<=u]*f ) y >= push y < pop and and ; : k 0.003 ; : kurve - abs k < ; : par1-l x sqrt 3 / y 0.5 - kurve ; : par1-r 1 x - sqrt 3 / y 0.5 - kurve ; : par2-l 0.4 x - sqr 10 * y 0.59 - kurve ; : par2-r 0.6 x - sqr 10 * y 0.59 - kurve ; : head x 0.5 - 1.6 * abs 4 * 0.31 - abs 0.15 - abs y 0.59 - - abs 0.013 < x 0.5 - abs 0.04 > * ; : head-ln x 0.5 - abs 0.04 > y 0.68 - kurve ; : par3 x 0.5 - 1.2 / sqr y 0.372 - 1.2 * kurve ; : par4 x 0.5 - 20 * sin abs sqrt x 0.5 - sqrt + 8 / y 0.283 - kurve ; 0 0 par1-l 0.0 0.3 /x/ par1-r 0.7 1.0 /x/ or par2-l 0.3 0.43 /x/ or par2-r 0.57 0.7 /x/ or head 0.43 0.57 /x/ or head-ln or par3 0.4238 0.7 /y/ or par4 0.2 0.8 /x/ or
Batman
DarkstarAG
'24 Nov 27
: d x .25 - dup * y .5 - dup * + ; : w t 3 * cos 2.5 - ; : v t 2 * sin 3.5 - ; d 25 w * x * * cos d 17 v * y * * sin d v * w * cos
Throbbing Laser Tonsil
Anonymous
'24 Nov 27
: ' .5 - 5 * ; : sq dup * ; : ^ ' t 1 * sin sq -.2 * exp * ; : x2 x ^ sq ; : y2 y ^ sq ; : t1 x2 y2 + 3 pow ; : t2 x2 y2 - sq ; : quadrifolium t1 t2 - ; : ish quadrifolium 0.0000001 < ; : noh quadrifolium 0.0000001 >= ; noh -3 quadrifolium * * ish .19 -
Quadrifolium
adg
'24 Nov 27
: ' .5 - 15 * ; : sq dup * ; : ^ ' t pi * .7 * sin sq -.5 * exp * ; : a 1.2 ; : b 3.2 ; : c 2.3 ; : a2 a sq ; : b2 b sq ; : c2 c sq ; : x2 x ^ sq ; : y2 y ^ sq ; : x2y2 x2 y2 + ; : x2y2b2 x2y2 b2 - ; : term2 x2y2b2 a2 - c2 + ; : term3 a2 y2 * 4 * x2y2b2 * ; : watt x2y2 term2 sq * term3 + ; : ish watt 0.0000001 < ; : noh watt 0.0000001 >= ; noh -3 watt * * ish +
Watt's curve
adg
'24 Nov 27
: ' .3 - 25 * ; : '' .7 - 25 * ; : sq dup * ; : ^ ' t pi * .7 * sin sq -.5 * exp * ; : ^' '' t 5 - abs pi * .7 * sin sq -.5 * exp * ; : heart x ^ sq y ^ 4 * 2.5 1 - + 3 / x ^ sqrt - sq + 15 - ; : heart2 x ^' sq y ^' 4 * negate 2.5 1 - + 3 / x ^' sqrt - sq + 15 - ; : ish heart 0.0000001 < ; : noh heart 0.0000001 >= ; : ish2 heart2 0.0000001 < ; : noh2 heart2 0.0000001 >= ; noh -3 heart * exp * ish / noh2 -3 heart2 * exp * ish2 / y x dup sin swap sin z+
binary heart redux
adg
'24 Nov 27
: ' .5 - 25 * ; : sq dup * ; : ^ ' t pi * .7 * sin sq -.5 * exp * ; : ^' ' t 5 - abs pi * .7 * sin sq -.5 * exp * ; : quad dup sq * ; : heart x ^ sq y ^ 4 * 2.5 1 - + 3 / x ^ sqrt - sq + 15 - ; : heart2 x ^' sq y ^' 4 * negate 2.5 1 - + 3 / x ^' sqrt - sq + 15 - ; : ish heart 0.0000001 < ; : noh heart 0.0000001 >= ; : ish2 heart2 0.0000001 < ; : noh2 heart2 0.0000001 >= ; : dh heart ; : dh2 heart2 ; noh -3 dh * exp * ish + noh2 -3 dh2 * exp * ish2 +
binary heart (was: heart)
adg
'24 Nov 27
: trail t 4 * y + + tan x 1.5 * 1 - - abs 1 swap - ; t y + trail t sin x - trail t cos trail dup
Torciglione
adg
'24 Nov 27
: skin over z* ; y x t tan skin over sin sin over tan skin /
Tan skin over sin / Sin over tan skin (5, 7, 5)
adg
'24 Nov 27
: n 2 * 1 - ; : xn x n ; : yn y n ; : h t 3600 / 12 / pi * 2 * ; : m t 3600 mod 60 / ceil 60 / pi * 2 * ; : s t 60 mod 60 / pi * 2 * ; : d dup dup dup >r >r >r >r xn pop cos * yn pop sin * - xn pop sin * yn pop cos * + ; : sc dup 0.8 > swap 0.9 < * push dup 0.015 < swap 0.015 negate > * pop * ; : pi6 pi 6 / ; : sc2 0 d sc pi6 d sc + pi6 2 * d sc + pi6 3 * d sc + pi6 4 * d sc + pi6 5 * d sc + pi6 6 * d sc + pi6 7 * d sc + pi6 8 * d sc + pi6 9 * d sc + pi6 10 * d sc + pi6 11 * d sc + ; : hhand h d dup 0 > swap 0.3 < * push dup 0.03 < swap -0.03 > * pop * ; : mhand m d dup 0 > swap 0.6 < * push dup 0.02 < swap -0.02 > * pop * ; : shand s d dup 0 > swap 0.8 < * push dup 0.01 < swap -0.01 > * pop * ; shand mhand hhand sc2 +
Clock fixed
Anonymous
'24 Nov 27
x 12.4 * sin y 12.4 * sin t 10 * tan - * dup t 10 * sin * dup t 3 * tan *
Disco Inferno (was: Disco)
adg
'24 Nov 27
x 22.4 * sin y 22.4 * sin t 17 * tan + + dup t 15 * sin * dup t 20 * sin *
Forth Epilepsy (was: Disco Redux)
adg
'24 Nov 27
y t - x y mod mod pi *
Prismatic Horizon #1
adg
'24 Nov 27
: hand push dup 0 > swap pop < * push dup 0.01 < swap 0.01 negate > * pop * ; : n 2 * 1 - ; : xn x n ; : yn y n ; : h t 3600 / ceil 12 / pi * ; : m t 3600 mod 60 / ceil 60 / pi * 2 * ; : s t h 3600 * - m 60 * - 60 / pi 2 * * ; : d dup dup dup >r >r >r >r xn pop cos * yn pop sin * - xn pop sin * yn pop cos * + ; : sc dup 0.8 > swap 0.9 < * push dup 0.015 < swap 0.015 negate > * pop * ; : pi6 pi 6 / ; : sc2 0 d sc pi6 d sc + pi6 2 * d sc + pi6 3 * d sc + pi6 4 * d sc + pi6 5 * d sc + pi6 6 * d sc + pi6 7 * d sc + pi6 8 * d sc + pi6 9 * d sc + pi6 10 * d sc + pi6 11 * d sc + ; s d 0.9 hand sc2 h d 0.5 hand m d 0.8 hand +
clock
icedp
'24 Nov 27
: n 1 + 2 / ; : x t 10 / x 2 * + sin n ; : y t 10 / y + cos n ; : f ( k x t - k' x' ) dup .1 + >r sin 10 * tan * 1 + 2 / r> ; t x y * y + x log 1 + / sqrt f f f f f f t sin x 2 * y sin 10 / + f f f f f f y x * 13 * cos * f f f f f f f f z* 2dup z* 2dup 2dup z* z*
Ashamed t added to Super Mad Piccasso Redux Redux
arlucena
'24 Nov 27
: strange pi -rot pow * t * sin ; x t y log strange y x log 60 * strange
ashamed t insert in the Drum Sand Redux
arlucena
'24 Nov 27
: n 1 + 2 / ; : x t 10 / x 2 * + sin n ; : y t 10 / y + cos n ; : f ( k x - k' x' ) dup .1 + >r sin 10 * tan * 1 + 2 / r> ; t x y * y + x log 1 + / sqrt f f f f f f t sin x 2 * y sin 10 / + f f f f f f y x * 13 * cos * f f f f f f f f z* 2dup z* 2dup 2dup z* z*
Super Mad Piccasso Redux
DarkstarAG
'24 Nov 27
: trail t 4 * x + + sin y 2 * 1 - - abs 1 swap - ; t y + trail t sin x - trail t cos trail
Rainbow Wave Redux
DarkstarAG
'24 Nov 27
: ' 20 * 1 mod ; : l dup -0.2 >= swap 0.2 < * ; : x x 2 * ; : y t 2 * floor 10 mod y - 2 * ; : _ 20 * floor 5 + ; x _ y _ ( t 8 * floor - ) 7 + cos x _ sin / * 1 mod 0.5 >= dup x ' y ' - l * swap 1 swap - 1 x ' - y ' - l * + dup dup 0.22 * 0.2 + swap 0.22 * 0.15 + rot 0.24 * 0.47 +
10 PRINT... changing
DarkstarAG
'24 Nov 27
Next