Haiku Gallery
( f = sin[x/|y| — y/|x|] ) : k 10 ; : x' x .5 - k / ; : y' y .5 - k / ; : part ( x y - f ) abs / 0.8 pow ; : f ( k - q ) x' y' part y' x' part - t cos * * sin ; t 7 mod f
MetaCross
DarkstarAG
'25 Jul 08
: 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 * +
фф
Anonymous
'25 Jul 08
x pi 5 * * sin t cos * y pi 20 t cos * * * cos
ц Redux
Anonymous
'25 Jul 08
x4 pi 2 * * sin 3t cos *
ц
ц
'25 Jul 08
x4 pi 2 * * sin 3t cos *
й
й
'25 Jul 08
x pi 5 * * sin t cos *
й
й
'25 Jul 08
( r@ now defined! ) : sinn sin 1 + 2 / ; : y y 2 * ; : wave ( pos - k ) >r x 3 * t 2 * + sinn r> - 2 / y - abs 0.01 - abs sin 14 pow t x + 7 * sin 1.5 + * ; 2 wave 2 * >r ( R ) 0.6 wave r@ + ( G ) r@ ( B ) -3 wave r@ + r> drop
Waving Back (Added r@)
BradN
'25 Jul 08
x .5 - 10 * t 3 * y .5 - * 2 * + sin 200 ** dup dup
Rotating Dots Field Redux
DarkstarAG
'25 Jul 08
: ^2 dup * ; : _x x .5 - ; : _y y .5 - ; : x _x _y atan2 t sin 1.21 * + pi 2 / + .25 * ; : y _x ^2 _y ^2 + sqrt t cos 10 / + .2 - ; y .000 > y .16 < and : pc x 32 * floor dup 1 + 9 / floor - ; : pr y 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
Circular Clock Redux (Rotation)
DarkstarAG
'25 Jul 08
( http://thesands.ru/forth-demotool ) : 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 - ( based on idea by Gleurop )
Psychedelic
Manwe
'25 Jul 08
: x x 2 * 1 - ; : y y 2 * 1 - ; : d dup ; : o over ; : l o -2 * o / 4 t 3 / sin + + >r o x * o / >r o y * o / 1 + d 1 - 10 ** r> r> ( rotate ) 2dup t 3 / cos * swap t 3 / sin * - >r t 3 / sin * swap t 3 / cos * + 10 ** + r> 10 ** + sqrt 1 - min rot + swap ; 0 x d * y d * + 4 + sqrt l l l l l l drop 5 / 2 ** 1 over - 2dup + 2 / -rot 1 swap - ( www.thesands.ru/forth-demotool )
Morph
Manwe
'25 Jul 08
( Why 'r@' not defined ? ) : r@ pop dup push ; : sinn sin 1 + 2 / ; : y y 2 * ; : wave0 ( freq pos - k ) >r x * t 2 * + sinn r> - 2 / y - abs 0.01 - abs sin 14 pow ; : wave ( pow - k ) >r 3 r> wave0 ; : c*k ( r g b k - r*k b*k g*k ) >r rot r@ * rot r@ * rot r> * ; : c+k ( r g b k - r*k b*k g*k ) >r rot r@ + rot r@ + rot r> + ; : c-k ( r g b k - r*k b*k g*k ) >r rot r@ - rot r@ - rot r> - ; : fix ( c - c' in [0,1] ) 0 max 1 min ; : shadow 4.8 3.5 wave0 sinn 1.1 pow 4.2 1.6 wave0 sinn 1.1 pow + 2 / 5 pow 5 * ; : scene 0.9 wave 2 pow 4 * >r ( R ) 3.3 wave 2 pow r@ + fix ( G ) 1.0 wave 6 pow r@ + fix ( B ) 2.1 wave 2 * 4 pow r@ + fix shadow 0.8 * c-k 0.2 c+k r> drop ; scene
Russia Waves !
DarkstarAG
'25 Jul 08
( Why 'r@' not defined ? ) : sinn sin 1 + 2 / ; : y y 2 * ; : wave ( pos - k ) >r x 3 * t 2 * + sinn r> - 2 / y - abs 0.01 - abs sin 14 pow ; : r@ pop dup push ; 2 wave 2 * >r ( R ) 0.6 wave r@ + ( G ) r@ ( B ) -3 wave r@ + r> drop
Russia Waves
DarkstarAG
'25 Jul 08
: x x 4 * ; : y y 4 * ; : x x y t + sin + ; : y y x t + cos + ; x 5 * 1 mod .2 < y 5 * 1 mod .2 < and
Flow
snail
'25 Jul 08
: x x .1 - y 10 * t - sin .05 * + ; : y y .4 - x 6 * t - sin .2 * + ; x 0 > x .78 < and y 0 > y .16 < and : pc x 32 * floor dup 1 + 9 / floor - ; : pr y 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 rot
Time flow
snail
'25 Jul 08
: _x x .5 - ; : _y y .5 - ; : x _x _y atan2 pi 2 / + .25 * ; : y _x dup * _y dup * + sqrt .2 - ; y .000 > y .16 < and : pc x 32 * floor dup 1 + 9 / floor - ; : pr y 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
Circular Clock
snail
'25 Jul 08
: x x .1 - ; : y y .4 - ; : pc x 32 * floor dup 1 + 9 / floor - ; : pr y 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
Clock
snail
'25 Jul 08
( x -- y ) ( x -- sin(x*pi + t) ) : f pi * t + sin ; : x x .5 - 2 * ; : y y .5 - 2 * ; x abs .01 < y abs .01 < or x f y - abs .01 <
Plotter
snail
'25 Jul 08
x .5 - dup * y .5 - dup * + sqrt t * t + tan
A haiku
snail
'25 Jul 08
: ^2 dup * ; : a y t sin 2 / + x t cos 2 / + atan2 ; : r x 0.5 - ^2 y 0.5 - ^2 + sqrt ; : x r a cos * ; : y r a sin * ; : in .666 mod .333 < swap .666 mod .333 < or ; x y in x 3 * 1 mod y 3 * 1 mod in * x 9 * 1 mod y 9 * 1 mod in * x 27 * 1 mod y 27 * 1 mod in *
Sierpinclipse
DarkstarAG
'25 Jul 08
: x x .5 - 2.4 * ; : y y .7 - 2.4 * ; : dot dup * swap dup * + ; : l dup -0.04 * r> r> 2dup * 2 * x + >r 2dup z* drop y + r> 2dup >r >r dot + abs rot min swap rot over 1.32457 * t + r> r> 2dup >r >r rot dup cos -2 * swap sin -2 * z+ dot min -rot 1 + ; y x >r >r 4 4 0 l l l l l l l l l drop log 8 / negate swap log 8 / negate swap dup >r 2 ** over 3 ** + r> 3 ** r> r> drop drop ( based on shader by Guil )
Emerald Necklace
Manwe
'25 Jul 08
: in .666 mod .333 < swap .666 mod .333 < or ; x y in x 3 * 1 mod y 3 * 1 mod in * x 9 * 1 mod y 9 * 1 mod in * x 27 * 1 mod y 27 * 1 mod in *
sierpinski carpet
snail
'25 Jul 08
: xp x .5 - 2 * ; : yp y .5 - 2 * ; : r xp dup * yp dup * + sqrt ; : a xp yp atan2 ; 1 r a + 5 * t 2 * + pi .6 * + cos r a + 5 * t 2 * + pi .6 * + cos r 1 <
Peppermint
snail
'25 Jul 08
: xp x .5 - 2 * ; : yp y .5 - 2 * ; : r xp dup * yp dup * + sqrt ; : a xp yp atan2 ; r a 20 * + 20 * t 2 * + pi .6 * + cos 0 0
Trippy Redux
snail
'25 Jul 08
: xp x .5 - 2 * ; : yp y .5 - 2 * ; : r xp dup * yp dup * + sqrt ; : a xp yp atan2 ; r a 20 * + 20 * t 3 * + pi .6 * + cos 0 0
Trippy Redux
Anonymous
'25 Jul 08
: xp x .5 - 2 * ; : yp y .5 - 2 * ; : r xp dup * yp dup * + sqrt ; : a xp yp atan2 ; r a 20 * + 20 * t 3 * + pi .6 * + cos 0 0
Trippy Redux
Anonymous
'25 Jul 08
: xp x .5 - 2 * ; : yp y .5 - 2 * ; : r xp dup * yp dup * + sqrt ; r 20 * t 2 * + pi .6 * + cos r 20 * t -3 * + pi 1.3 * + cos r 20 * t + cos
Trippy
snail
'25 Jul 08
t x + 3 * sin 2 / .5 + y > t x + 5 * sin 2 / .5 + y > t x + 2 * sin 2 / .5 + y >
Untitled
Anonymous
'25 Jul 08
x t + y + pi * 3 * sin 0 > dup
Untitled
Anonymous
'25 Jul 08
x t + y + pi * 3 * sin 0 > dup
Caution Redux
Anonymous
'25 Jul 08
x t + y + pi * 3 * sin 0 > dup
Caution
snail
'25 Jul 08
x y - x sin y cos - > x y - x sin t cos - > x y - t sin y cos - >
Slides
BradN
'25 Jul 08
: z t tan 3 + 2 / * ; : m t 2 / tan 4 / 1 - / ; : a 1.4 x .4 - y .2 - atan2 y ; : b * over tan swap 4 / y 8 / + tan m + 61 / y .6 + m 2 ** x .8 - z 5 ** + + - 3 ** ; a 1.9 * - 63 b t cos 1 + 5 / + a 3.3 * - 67 z
cincinatti sunrise
eig8t
'25 Jul 08
x 7 + 19 * floor y 3 - 47 * floor 139.3948 / ** t 81937 + 6214.731 / * sin 883.379 * dup floor - 9 ** x 14 * pi * cos random y 39 * pi * tan x * * over 12 ** rot
uber hot dna strings
eig8t
'25 Jul 08
: k 6 * 3 - ; 1 x k abs y k abs - dup >r q mod .4 - abs .16 < dup t r> abs dup 21 atan2 1 * 12 - * / 6 mod
atlantic cities
eig8t
'25 Jul 08
: ox x ; : oy y ; : x x 1.1 * ; : y y 1.5 * 0.25 - ; : x x t + .7 * sin y x min 1.3 * t + 1.1 * sin * dup * 10 / x + ; : y y t + 1.1 * sin x .7 * sin * dup * y + ; : clip x 0 > x 1 < * y 0 > * y 1 < * * ; : done clip push clip push clip push clip pop pop pop ; ( ---- ) : left x .5 < ; : top x .5 - y .5 * > ; : bot 1 x - y .5 * < ; : rite top bot and 2 / ; left rite + dup 1 rite - dup ( ---- ) done
Signal Flag - Able (+waving +alpha)
Daniel Kalny
'25 Jul 08
: ox x ; : oy y ; : x x 1.1 * ; : y y 1.5 * 0.25 - ; : x x t + .7 * sin y x min 1.3 * t + 1.1 * sin * dup * 10 / x + ; : y y t + 1.1 * sin x .7 * sin * dup * y + ; : clip x 0 > x 1 < * y 0 > * y 1 < * * ; : done clip push clip push clip push clip pop pop pop ; ( ---- ) : xor 2dup or -rot and not and ; : ybars x 2 * 1 mod .5 < ; : xbars y 2 * 1 mod .5 > ; : check xbars ybars xor ; check check 1 ( ---- ) 1 done
Signal Flags - Nan (+waving)
Daniel Kalny
'25 Jul 08
: ox x ; : oy y ; : x x 1.1 * ; : y y 1.5 * 0.25 - ; : x x t + .7 * sin y x min 1.3 * t + 1.1 * sin * dup * 10 / x + ; : y y t + 1.1 * sin x .7 * sin * dup * y + ; : clip x 0 > x 1 < * y 0 > * y 1 < * * ; : done clip push clip push clip push clip pop pop pop ; ( ---- ) : t1 x y + 1 > ; : t2 x y - 0 > ; t1 t2 or t1 t2 and not and t1 t2 not and t1 t2 and ( ---- ) 1 done
Signal Flags - Zulu (+waving)
Daniel Kalny
'25 Jul 08
: ox x ; : oy y ; : x x 1.1 * ; : y y 1.5 * 0.25 - ; : x x t + .7 * sin y x min 1.3 * t + 1.1 * sin * dup * 10 / x + ; : y y t + 1.1 * sin x .7 * sin * dup * y + ; : clip x 0 > x 1 < * y 0 > * y 1 < * * ; : done clip push clip push clip push clip pop pop pop ; ( ---- ) : left x .5 < ; : top x .5 - y .5 * > ; : bot 1 x - y .5 * < ; : rite top bot and 2 / ; left rite + dup 1 rite - ( ---- ) 1 done
Signal Flag - Able (+waving)
Daniel Kalny
'25 Jul 08
: ox x ; : oy y ; : x x 1.1 * ; : y y 1.5 * 0.25 - ; : x x t + .7 * sin y x min 1.3 * t + 1.1 * sin * dup * 10 / x + ; : y y t + 1.1 * sin x .7 * sin * dup * y + ; : clip x 0 > x 1 < * y 0 > * y 1 < * * ; : done clip push clip push clip push clip pop pop pop ; ( ---- ) : xor 2dup or -rot and not and ; : quad x .5 > y .5 > xor ; quad quad 0 1 ( ---- ) done
Signal Flags - Love (+waving)
Daniel Kalny
'25 Jul 08
Next