Haiku Gallery
.04 : a * dup cos swap sin z* y ; : b sin .5 * abs - .18 - + dup * swap x ; : c / 1 mod 2 * 1 - dup 0 > 2 * 1 - * ; : cir0 t -2.3 a .6 / t b .6 / t 9.1 c 1.5 * - .1 - + dup * + sqrt - 0 max .25 ** ; .2 0 0 cir0 .055 .075 .075 cir0 - .055 -.075 .075 cir0 - .055 .075 -.075 cir0 - .055 -.075 -.075 cir0 - 4 / max : cir1 t 1.7 a .8 / t b .8 / t 11 c - .15 - + dup * + sqrt - 0 max .2 ** ; .2 0 0 cir1 .055 .075 .075 cir1 - .055 -.075 .075 cir1 - .055 .075 -.075 cir1 - .055 -.075 -.075 cir1 - 2 / max : cir2 t -2 a t .8 * b t 7 / 1 mod 1.4 * .7 - dup 0 > 2 * 1 - * - .15 - + dup * + sqrt - 0 max .15 ** ; .2 0 0 cir2 .055 .075 .075 cir2 - .055 -.075 .075 cir2 - .055 .075 -.075 cir2 - .055 -.075 -.075 cir2 - max .9 * dup sqrt 0 -rot
3 little studs
Manwe
'25 May 30
: x x .5 - 9 * ceil ; : y y .5 - 9 * ceil ; x y t sin t cos z* 4 / x t sin + x y t 2.1 * sin t 2.01 * cos z* 4 / z+
Pixels
Ivanq
'25 May 30
: x x t - 1.71 mod ; : l y t 3 * sin abs 2 / - 48 * floor = * 2 x .37 - 48 * floor ** floor / 2 mod + ; : lp 0 28672 15 l 28672 14 l 24576 13 l 1408 12 l 3536 11 l 15248 10 l 480 9 l 4064 8 l 3 5 l 2311 4 l 2 3 l 1 >= ; : lw 0 992 14 l 8176 13 l 1088 7 l 2176 6 l 3968 5 l 5872 4 l 8176 3 l 8160 2 l 1008 1 l 112 0 l 1 >= ; : lg 0 29296 12 l 29224 11 l 17512 10 l 15896 9 l 4096 8 l 3004 7 l 18302 6 l 16508 5 l 24576 4 l 24584 3 l 24604 2 l 14 1 l 2 0 l 1 >= ; ( www.thesands.ru/forth-demotool ) lp lw dup dup >r >r over + swap 1.5 / lg 1.5 / + r> + 2dup + 0 = 7 / r> +
Luigi
Ivanwq
'25 May 30
: x x t - 1.71 mod ; : l y t 3 * sin abs 2 / - 48 * floor = * 2 x .37 - 48 * floor ** floor / 2 mod + ; : lp 0 28672 15 l 28672 14 l 24576 13 l 1408 12 l 3536 11 l 15248 10 l 480 9 l 4064 8 l 3 5 l 2311 4 l 2 3 l 1 >= ; : lw 0 992 14 l 8176 13 l 1088 7 l 2176 6 l 3968 5 l 5872 4 l 8176 3 l 8160 2 l 1008 1 l 112 0 l 1 >= ; : lg 0 29296 12 l 29224 11 l 17512 10 l 15896 9 l 4096 8 l 3004 7 l 18302 6 l 16508 5 l 24576 4 l 24584 3 l 24604 2 l 14 1 l 2 0 l 1 >= ; ( www.thesands.ru/forth-demotool ) lp lw dup dup >r >r over + swap 1.5 / lg 1.5 / + r> + 2dup + 0 = 7 / r> +
Luigi
Ivanwq
'25 May 30
: x x t - 1.71 mod ; : l y t 3 * sin abs 2 / - 48 * floor = * 2 x .37 - 48 * floor ** floor / 2 mod + ; : lp 0 28672 15 l 28672 14 l 24576 13 l 1408 12 l 3536 11 l 15248 10 l 480 9 l 4064 8 l 3 5 l 2311 4 l 2 3 l 1 >= ; : lw 0 992 14 l 8176 13 l 1088 7 l 2176 6 l 3968 5 l 5872 4 l 8176 3 l 8160 2 l 1008 1 l 112 0 l 1 >= ; : lg 0 29296 12 l 29224 11 l 17512 10 l 15896 9 l 4096 8 l 3004 7 l 18302 6 l 16508 5 l 24576 4 l 24584 3 l 24604 2 l 14 1 l 2 0 l 1 >= ; ( www.thesands.ru/forth-demotool ) lp lw dup dup >r >r over + swap 1.5 / lg 1.5 / + r> + 2dup + 0 = 7 / r> +
Luigi
Ivanw
'25 May 30
( тогда уж так ) : x x t - 1.41 mod ; : l y t 3 * sin abs 2 / - 64 * floor = * 2 x .37 - 64 * floor ** floor / 2 mod + ; : my 0 28672 15 l 28672 14 l 24576 13 l 1408 12 l 3536 11 l 15248 10 l 480 9 l 4064 8 l 3 5 l 2311 4 l 2 3 l 1 >= ; : mr 0 992 14 l 8176 13 l 1088 7 l 2176 6 l 3968 5 l 5872 4 l 8176 3 l 8160 2 l 1008 1 l 112 0 l 1 >= ; : mg 0 29296 12 l 29224 11 l 17512 10 l 15896 9 l 4096 8 l 3004 7 l 18302 6 l 16508 5 l 24576 4 l 24584 3 l 24604 2 l 14 1 l 2 0 l 1 >= ; ( www.thesands.ru/forth-demotool ) my mr over + swap mg 4 / + 2dup + 0 = dup -rot 2 / + swap
Jumping Mario
Ivanq
'25 May 30
: x x t - 1 mod ; : l y t 3 * sin abs 2 / - 64 * floor = * 2 x .37 - 64 * floor ** floor / 2 mod + ; : my 0 28672 15 l 28672 14 l 24576 13 l 1408 12 l 3536 11 l 15248 10 l 480 9 l 4064 8 l 3 5 l 2311 4 l 2 3 l 1 >= ; : mr 0 992 14 l 8176 13 l 1088 7 l 2176 6 l 3968 5 l 5872 4 l 8176 3 l 8160 2 l 1008 1 l 112 0 l 1 >= ; : mg 0 29296 12 l 29224 11 l 17512 10 l 15896 9 l 4096 8 l 3004 7 l 18302 6 l 16508 5 l 24576 4 l 24584 3 l 24604 2 l 14 1 l 2 0 l 1 >= ; ( www.thesands.ru/forth-demotool ) my mr over + swap mg 4 / + 2dup + 0 = dup -rot 2 / + swap
Jumping Super Mario
DarkstarAG
'25 May 30
: l y t 3 * sin abs 2 / - 64 * floor = * 2 x .37 - 64 * floor ** floor / 2 mod + ; : my 0 28672 15 l 28672 14 l 24576 13 l 1408 12 l 3536 11 l 15248 10 l 480 9 l 4064 8 l 3 5 l 2311 4 l 2 3 l 1 >= ; : mr 0 992 14 l 8176 13 l 1088 7 l 2176 6 l 3968 5 l 5872 4 l 8176 3 l 8160 2 l 1008 1 l 112 0 l 1 >= ; : mg 0 29296 12 l 29224 11 l 17512 10 l 15896 9 l 4096 8 l 3004 7 l 18302 6 l 16508 5 l 24576 4 l 24584 3 l 24604 2 l 14 1 l 2 0 l 1 >= ; ( www.thesands.ru/forth-demotool ) my mr over + swap mg 4 / + 2dup + 0 = dup -rot 2 / + swap
Super Mario
Ivanq
'25 May 30
: f -.5 dup z+ t sin 3 * t cos -3 * z* ; : i 2dup z* ; : j i i log ; : s t 12 mod ; : t1 0 s <= 3 s > * ; : t2 3 s <= 6 s > * ; : t3 6 s <= 9 s > * ; : t4 9 s <= 12 s > * ; : f1 x y f j j ; : f2 f1 i ; : f3 f2 i ; : f4 f1 j ; : r rot max -rot max ; : d dup push * swap pop * swap ; f1 t1 d f2 t2 d r f3 t3 d r f4 t4 d r
Incremental Dream Catcher fractal
adg
'25 May 30
( see http://mathworld.wolfram.com/SwastikaCurve.html ) : ^2 dup * ; : x x .5 - 5 * ; : y y .5 - 5 * ; : rollettcurve y ^2 ^2 x ^2 ^2 - x y * - ; : rainbow ( .f - r g b ) dup 3 * 1 + sin swap dup 3 * 0 + sin swap dup 3 * 5 + sin swap drop ; rollettcurve t 1.5 * sin 14 * - abs t 3 / cos pow rainbow
Rollett Curve
DarkstarAG
'25 May 30
: tween ( x a b - y ) over - rot * + ; : tri ( x - y ) 0.5 - abs negate 1 + ; : repeat ( x n - y ) * 1 mod ; : stairs ( x n - y ) dup push * floor pop / ; t 3 * cos x 12 stairs 10 repeat tri y 12 stairs 10 repeat tri tween
generators
DarkstarAG
'25 May 30
: tween ( x a b - y ) over - rot * + ; x 0 1 tween y 0.7 >= * x 0 y tween y 0.1 >= * y 0.7 < * x y 25 * sin t cos * x 25 * cos t sin * tween
tween(x,a,b) function
DarkstarAG
'25 May 30
: q pop ; : new push ; : d dup ; : ^2 d * ; : zm ^2 swap ^2 + sqrt ; : u rot q q over * 1 rot d new - rot * + ; : year u u u q drop ; : happy new new new ; : 8p happy happy new new ; : w 1 1 1 ; : b x y 0 q - q t + 1 mod 1 - z+ zm .01 < ; : 4b b b b b or or or ; : c .5 1.5 .3 1 .6 1.2 .1 1.5 .9 .5 .4 1.2 .8 1.74 .17 1.1 8p 8p 4b 4b or ; : s .2 .1 x * - 0 .2 .05 x * - ; : ee .1 1 x 2 / - .1 ; : t x y max x y min 2dup new new 2 * < q d q - .2 * q d .1 - new + - abs .02 q d new .1 + * < and or ; : m x y - abs 0.03 x * 0.005 + < ; : e m .8 new t t t t t t t t q drop ; : r 1 1.6 * x - 1.6 x 1.9 * - .1 ; : rb x y -.6 -.45 z+ zm 0.15 < ; : a 1 x .5 - 1.3 * - 0 0 ; : b y .4 > y x 1.2 * .2 - < y 1.25 x 1.2 * - < and and ; : bl 0 0 0 ; : bll y .4 > y x .15 * .325 + < y .685 x .4 * - < and and ; s w happy c new year ee happy e new year r happy rb new year a happy b new year bl happy bll new year
Happy new year, REKSOFT
Aleksei Sukontsev
'25 May 30
: d push x - dup * pop y - dup * + sqrt ; : r 2dup push push d 200 * x pop - y pop - atan2 20 * sin 3 * + sin ; : xor + abs 2 mod ; .5 .5 r t 10 / dup push sin abs pop cos abs r xor dup dup
Moiré pattern generator #2
adg
'25 May 30
: fract dup floor - ; : time t 7 / 8.96 + sin .8 * ; : sun 1 x .8 - 2 ** y .7 - 2 ** + sqrt - 1.2 * ; : flat x .5 - * time r> / + * pi * 2 * cos 0 max 8 * ; : begin dup 2dup >r >r >r .2 swap / 1 + flat ; : server dup begin dup -rot - 0 max swap 1 min + .8 * r> 1 flat - 1 max ; : lamps ( mask ) dup 2dup >r >r begin r> 1 flat + dup -rot - 0 max -rot - 0 max r> dup time over / x .5 - + * fract .5 - abs .34 > ( lamps ) r> dup dup 2dup >r >r >r x + * 1 + time + 44 * floor y r> * 48 * 1 + floor 199.8347 / ** t 1125.4 + 417.731 / * sin 237.371 * dup floor - 2 ** x r> * time + 44 * pi * sin abs y r> * 44 * pi * sin abs * * * 2 ** dup >r >r y * 44 * floor dup 9 mod 2 < r> * swap 9 mod 4 = r> * -rot + -rot + ; 0 0 2 lamps 1.8 lamps 1 lamps .5 lamps over 2 ** + swap .8 3 server 14.5 server 2 server 1.5 server 1 server .5 server sun * dup 2 ** rot + swap
Server Room Redux home
vim
'25 May 30
: fract dup floor - ; : time t 7 / 8.96 + sin .8 * ; : sun 1 x .8 - 2 ** y .7 - 2 ** + sqrt - 1.2 * ; : flat x .5 - * time r> / + * pi * 2 * cos 0 max 8 * ; : begin dup 2dup >r >r >r .2 swap / 1 + flat ; : server dup begin dup -rot - 0 max swap 1 min + .8 * r> 1 flat - 1 max ; : lamps ( mask ) dup 2dup >r >r begin r> 1 flat + dup -rot - 0 max -rot - 0 max r> dup time over / x .5 - + * fract .5 - abs .34 > ( lamps ) r> dup dup 2dup >r >r >r x + * 1 + time + 44 * floor y r> * 48 * 1 + floor 199.8347 / ** t 1125.4 + 417.731 / * sin 237.371 * dup floor - 2 ** x r> * time + 44 * pi * sin abs y r> * 44 * pi * sin abs * * * 2 ** dup >r >r y * 44 * floor dup 9 mod 2 < r> * swap 9 mod 4 = r> * -rot + -rot + ; 0 0 2 lamps 1.8 lamps 1 lamps .5 lamps over 2 ** + swap .8 3 server 14.5 server 2 server 1.5 server 1 server .5 server sun * dup 2 ** rot + swap
Server Room Redux home
vim
'25 May 30
: sq dup * ; : d sq swap sq + sqrt ; : s push - swap pop - 2dup d push atan2 0.01 * pop + 200 * sin ; .5 .5 x y s t sin abs t cos abs x y s + dup dup
Moiré pattern generator #1
adg
'25 May 30
: 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 - 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 ** min + r> .6 ** + sqrt 1 - min rot + swap ; 0 x d * y d * + 0,5555 + sqrt l l l l l l l l l l l drop d 4.5 / 1,011 ** swap 9 / d 20 / 1 swap - -rot ( colors )
nixia
vim
'25 May 30
: r dup push swap y 12 pow + * t + sin x pop * cos + dup floor - ; 0.085 255.2335 r 0.182 12.6 r 0.7 45.2 r dup rot /
Waterfall mix
vim
'25 May 30
: n 9 mod 4 + ; : n' t n t negate n min floor ; : f n' * floor n' / ; : r t sin t cos -1 * z* ; : c -.7 -.8 z+ ; : xor + abs 2 mod ; y f x f c r - x f y f c r xor
Forth Ancient Sound Redux
vim
'25 May 30
: n 9 mod 3 + ; : n' t n t negate n min floor ; : f n' * floor n' / ; : r t sin t cos -1 * z* ; : c -.5 -.5 z+ ; : xor + abs 2 mod ; y f x f c r - x f y f c r xor
Forth Ancient Sound
adg
'25 May 30
( Make colored corners of XY-square ) : ^2 dup * ; : ^3 dup ^2 * ; : q ^2 swap ^2 + 7 pow ; : r x y q ; : g 1 x - y q ; : b x 1 y - q ; : a 1 x - 1 y - q ; r g b a + y atan2 y 0.15 - x atan2
RGB Palette
DarkstarAG
'25 May 30
: i 2dup z* log ; x y -.5 dup z+ over 3 z* i i i
Zhostovo detail (haiku 5,7,5)
adg
'25 May 30
: i 2dup z* log cos ; x y -.5 dup z+ i i i log over
Violet (haiku 5,7,5)
adg
'25 May 30
x y
Simple Gradient
Anonymous
'25 May 30
: p .5 - ; : r x p x p * y p y p * + sqrt ; : i r 10 * floor ; 1 y p x p atan2 128 i 10 / ** floor * 123.34 i * t 2 / cos r i * 10 / * 100 * - t 2 / sin 20 * + + cos 2 / .5 + 10 / r + 10 * floor 10 / - dup 2 / 2dup + -rot ( GLSL shader by FabriceNeyret2 )
SunFlower 3 Redux
Manwe
'25 May 30
: p 2 * .8 - ; : r x x * p y y * p + sqrt ; : i r 10 * floor ; 1 y p x p atan2 128 i 10 / ** floor * 123.34 i * t 2 / cos r i * 10 / * 100 * - t -5 / 1 mod pi * 20 * + + cos 2 / .5 + 10 / r + 10 * floor 10 / - dup 2 / swap 2dup + ( based on SunFlower 3 by FabriceNeyret2 )
Flow
Manwe
'25 May 30
: p 2 * 1 - ; : r x p x p * y p y p * + sqrt ; : i r 10 * floor ; 1 y p x p atan2 128 i 10 / ** floor * 123.34 i * t 2 / cos r i * 10 / * 100 * - t 2 / sin 20 * + + cos 2 / .5 + 10 / r + 10 * floor 10 / - dup 2 / 2dup + -rot ( GLSL shader by FabriceNeyret2 )
SunFlower 3
Manwe
'25 May 30
: sq t * sin 0 > ; 4 sq 16 sq * .1 * 8 sq .2 * + 8 sq 4 sq * .1 * + 16 sq 2 sq * .1 * + 32 sq 2 sq * .1 * + 16 sq 1 sq * .1 * + .1 + x .5 < * 16 sq 8 sq * 4 sq 1 swap - 8 sq * + 8 sq 1 swap - 32 sq * + x .5 > * +
Audio 11
Anonymous
'25 May 30
: sq t * sin 0 > ; 16 sq .1 * 8 sq .2 * + 4 sq .2 * + 2 sq .1 * + 1 sq .2 * + .1 + x .5 < * 16 sq 4 sq 1 swap - + 8 sq 1 swap - + x .5 > * +
Audio 11
Anonymous
'25 May 30
: sq t * sin 0 > ; 16 sq .1 * 8 sq .2 * + 4 sq .2 * + 2 sq .1 * + 1 sq .1 * + .1 + x .5 < * 16 sq 4 sq + 128 sq + x .5 > * +
Audio 10
Anonymous
'25 May 30
: sq t * sin 0 > ; 16 sq .1 * 8 sq .2 * + 4 sq .2 * + 2 sq .1 * + 1 sq .1 * + .1 + x .5 < * 16 sq 128 sq + x .5 > * +
Audio 9
Anonymous
'25 May 30
: sq t * sin 0 > ; 8 sq .2 * 4 sq .2 * + 2 sq .1 * + 1 sq .2 * + .1 + x .5 < * 16 sq 32 sq + 64 sq + 128 sq + x .5 > * +
Audio 8
Anonymous
'25 May 30
: sq t * sin 0 > ; 8 sq .2 * 4 sq .1 * + 2 sq .2 * + 1 sq .2 * + .1 + x .5 < * 16 sq 32 sq + x .5 > * +
Audio 7
Anonymous
'25 May 30
: sq t * sin 0 > ; 8 sq .2 * 4 sq .1 * + 2 sq .2 * + 1 sq .2 * + .1 + x .5 < * 32 sq x .5 > * +
Audio 6
Anonymous
'25 May 30
: sq t * sin 0 > ; 16 3 / sq .2 * 16 5 / sq .1 * + 16 4 / sq .2 * + 16 6 / sq .2 * + .1 + x .5 < * 32 sq x .5 > * +
Audio 5
Anonymous
'25 May 30
: sq t * sin 0 > ; 16 3 * sq .2 * 16 5 * sq .1 * + 16 4 * sq .2 * + 16 6 * sq .2 * + .1 + x .5 < * 16 sq x .5 > * +
Audio 4
Anonymous
'25 May 30
t sin 1 + 2 / t 3 * cos 1 + 2 / + t 7 * cos 1 + 2 / + 2 / .7 > x .5 > * : t t .1 + ; t sin 1 + 2 / t 3 / cos 1 + 2 / + t 7 / cos 1 + 2 / + 3 / x .5 < * +
Audio 3
BradN
'25 May 30
t sin 1 + 2 / t 3 * cos 1 + 2 / + t 7 * cos 1 + 2 / + 2 / x .5 > * : t t .1 + ; t sin 1 + 2 / t 3 / cos 1 + 2 / + t 7 / cos 1 + 2 / + 2 / x .5 < * +
Audio 2
BradN
'25 May 30
t 11 * sin 1 + 2 / x .5 > * t sin 1 + 2 / t 3 * cos 1 + 2 / + t 7 / cos 1 + 5 / + + 2 /
Audio 1
BradN
'25 May 30
Next