Haiku Gallery
( 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
( 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
'24 Nov 27
: i 2dup z* log ; x y -.5 dup z+ over 3 z* i i i
Zhostovo detail (haiku 5,7,5)
adg
'24 Nov 27
: i 2dup z* log cos ; x y -.5 dup z+ i i i log over
Violet (haiku 5,7,5)
adg
'24 Nov 27
x y
Simple Gradient
Anonymous
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
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
'24 Nov 27
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
'24 Nov 27
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
'24 Nov 27
t x 10 * + sin .1 * 0 1 x 10 * cos .1 t cos * * y - .5 + sqrt -
Sea Change Redux
Anonymous
'24 Nov 27
: 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
'24 Nov 27
: i 2dup z* log ; x .5 - y .5 - i i i log over
Primrose flower (haiku)
adg
'24 Nov 27
: f .5 - t tan * 50 * ; x f y f 2dup z* log
Quadricuspid Valve (haiku)
adg
'24 Nov 27
( 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
'24 Nov 27
( : >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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
: 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
'24 Nov 27
Next