Haiku Gallery
: harm ( a b c d x - a+b*sin[x*d+c] ) * + sin * + ; : xy y .5 - pi * tan x .5 - pi * tan ; : r xy dup * swap dup * + sqrt 2 / ; : a y .5 - x .5 - atan2 ; 0 1 3 t 2 / + 8 t r + harm .7 2 t 3 * + 3 t 4 / a + harm .5 3 t 7 * + 17 t r + harm .7 6 t 11 * + 12 t 13 / a + harm 5 / .5 + r - abs 0.01 - 1 - negate abs dup 4 ** swap 20 **
Tangencial Space Fire Cookie Redux
Anonymous
'24 Nov 28
: f x t + 16 * sin x t 1 * * .1 + sin 3 * + y .1 / 5 - 2 * ; 0 f - abs 0.01 - 1.4 - negate abs -1.2 pow 0
Alien DNA
DarkstarAG
'24 Nov 28
: p pi * 2 * dup cos .5 * swap sin -.5 * .5 .5 z+ ; : l dup * swap dup * + sqrt ; : a -1 * x + swap -1 * y + l dup 2 < swap * -1 * 1 + ; 1 12 / t 5 / + dup p a swap 1 3 / + dup p a swap 1 3 / + p a
rotating colors
kamikazejones
'24 Nov 28
( Hi, BradN! Thank you for your work ! ) : pulse t 2 * sin 2 / ; : x' x .5 - 5 pulse + * ; : y' y .5 - 5 pulse + * ; ( use manual pow: ) : ^2 dup * ; : ^3 dup dup * * ; ( cardioida heart ) : cardioida x' ^2 y' ^2 + 1 - ^3 x' ^2 y' ^3 * - ; cardioida abs .4 pow 4 / : rainbow ( .f - r g b ) dup 3 * 1 + sin swap dup 3 * 0 + sin swap dup 3 * 5 + sin swap drop ; rainbow
We Love Forth! Redux
DarkstarAG
'24 Nov 28
: sinus ( scale freq ) t * sin * ; : xy 0.4 0.13 sinus x + 0.5 - 0.4 0.17 sinus y + 0.5 - ; : d xy dup * >r dup * r> + sqrt ; : band d 6 * ; : arm xy atan2 d + over * t - * sin band pi * sin * ; 5 arm 3 arm 2 arm
hypnodisk 1
Bowmanator
'24 Nov 28
: xy x .3333 - y 0.3333 - ; : d2 dup * >r dup * r> + ; : arm xy atan2 xy d2 + over * t - * sin ; 5 arm 3 arm 2 arm
sqirals
Bowmanator
'24 Nov 28
: o over ; : d dup ; : 1m swap ; : 2m >r 1m r> 1m ; : len d * 1m d * + sqrt ; : x' x 0.5 - y 0.5 - t sin * 1m t cos * + ; : y' x 0.5 - y 0.5 - t cos * 1m t sin * - ; : r1 12 / cos 2 / ; : r2 2 pi * + 12 / cos 2 / ; : r3 4 pi * + 12 / cos 2 / ; : colour 8 pi * / ; y' x' atan2 pi + d d d r3 1m r2 2m r1 x' y' len d d >r >r > 1m r> > 2m r> > + + 2 pi * * + colour x' y' len 1 1m - * : rainbow ( .f - r g b ) dup 3 * 1 + sin swap dup 3 * 0 + sin swap dup 3 * 5 + sin swap drop ; 1.5 + rainbow
Spiral Redux
DarkstarAG
'24 Nov 28
: p 5 * 1 mod ; : h * 6 * 1 mod 2 * 1 mod ; : s negate 1 + ; x p y p h x 0.1 + s p y 0.1 + s p h * x s p y s p h * 3 *
Untitled
Anonymous
'24 Nov 28
( so crazy ... ) : xy x .5 - 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 xy atan2 ; : r' a abs log 2 / ; : rainbow ( .f - r g b ) dup 3 * 1 + sin swap dup 3 * 0 + sin swap dup 3 * 5 + sin swap drop ; r' r - .12 - abs 2 ** .01 - rainbow
Dat Rainbow Dash Anim
DarkstarAG
'24 Nov 28
: x' x 1 - abs ; : k t sin 1 + ; : kb 3 k / ; : n 0.3 - pi k * * ; : f y n sin abs x' n 0.2 * mod kb * y n sin abs x n 0.2 * mod kb * + ; : rainbow ( .f - r g b ) dup 3 * 1 + sin swap dup 3 * 0 + sin swap dup 3 * 5 + sin swap drop ; f t sin * rainbow
Impulse Redux
DarkstarAG
'24 Nov 28
: xy x .5 - y .5 - ; : r xy 2dup negate z* + sqrt ; : a xy atan2 ; : r' a log ; : rainbow ( .f - r g b ) dup 3 * 1 + sin swap dup 3 * 0 + sin swap dup 3 * 5 + sin swap drop ; r' r - rainbow
Dat Rainbow Dash
DarkstarAG
'24 Nov 28
( Logistic map y' = 1-L*y^2 ) ( Bifurcation ) : xz x 2 * ; : yz y ; : ' 128 * floor ; : z ( y - 1-xyy ) dup * xz * 1 - negate ; yz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z y - abs 1.2 - abs 111 pow sin
Logistic Map 4 Cancer Chaos
DarkstarAG
'24 Nov 28
: k 2 * 1 mod ; : neg negate ; : inv neg 1 + ; : a + 5 * 1 mod ; : x' x y a ; : y' x y neg a ; : o x neg y a neg 1 + ; : o' x y a neg 1 + ; x' y' * k k x' inv y' inv * k k o' o * k k o' inv o inv * k k 12 *
round dream Redux
D
'24 Nov 28
: k 2 * 1 mod ; : neg negate ; : a + 5 * 1 mod ; : x' x y a ; : y' x y neg a ; : x'' x neg y a ; : y'' x neg y neg a ; x' y' * k k k x'' y'' * k k k * 2 *
round dream
D
'24 Nov 28
: x' x 1 - abs ; : k t sin 1 + ; : kb 3 k / ; : n 0.3 - pi k * * ; : f y n sin abs x' n 0.2 * mod kb * y n sin abs x n 0.2 * mod kb * + ; f f t sin *
Impulse
Anonymous
'24 Nov 28
( NVidia 8600 GT, FireFox 28 - WebGL works after reset all settings ! ) : xy' x .5 - dup * y sqrt -.25 -.7 z+ t sin t cos z* ; : rainbow ( .f - r g b ) dup 3 * 1 + sin swap dup 3 * 0 + sin swap dup 3 * 5 + sin swap drop ; xy' atan2 21 * sin 1 + 2 / 3 pow 1 - negate rainbow
Magneto 3 Redux
DarkstarAG
'24 Nov 28
( NVidia 8600 GT, FireFox 28 - WebGL works after reset all settings ! ) : xy' x .5 - dup * y sqrt -.25 -.7 z+ t sin t cos z* ; xy' atan2 10 * sin 101 pow
Magneto 2
DarkstarAG
'24 Nov 28
: x x pi * sin abs ; : y y pi * sin abs ; x y * 0.1 mod 10 * 0.1 mod 10 * x y * 0.1 mod 6 * 0.1 mod 8 * 0.1 mod 20 * x y * 0.1 mod 6 * 0.1 mod 20 *
My capter
Anonymous
'24 Nov 28
: tpi pi * ; : tpi2 pi 2 * * ; : m10 0.15 mod 10 * cos ; x tpi sin m10 y tpi sin m10 *
square paranoia
Anonymous
'24 Nov 28
( NVidia 8600 GT, FireFox 28 - WebGL not works! ) t
FF28 WebGL not works :-/
DarkstarAG
'24 Nov 28
( Logistic map y' = 1-L*y^2 ) ( Bifurcation ) : xz x 2 * ; : yz y ; : ' 128 * floor ; : z ( y - 1-xyy ) dup * xz * 1 - negate ; yz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z ' y ' =
Logistic Map 2
DarkstarAG
'24 Nov 28
( Logistic map y' = ry*[1-y] ) ( Bifurcation ) : xz x 4 * ; : yz y ; : ' 128 * floor ; : z ( y - xy[1-y] ) dup 1 - negate * xz * ; yz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z ' y ' =
Logistic Map
DarkstarAG
'24 Nov 28
x 9.4 * sin y 9.4 * sin t .0001 * * * x t 2 * * sin y t 3 * * sin
Another Discodux
Anonymous
'24 Nov 28
: x' x 0.5 - 5 * ; : y' y 0.5 - 5 * ; : len dup * swap dup * + sqrt ; : polar x' y' atan2 x' y' len ; polar 5 t sin * * + sin 0.01 - abs 0.3 - negate 1.4 * 10 ** polar abs log 5 t sin * * + sin 0.01 - abs 0.3 - negate 1.4 * 10 **
Spirals (Archimede & Log)
DarkstarAG
'24 Nov 28
: x' x 0.5 - 5 * ; : y' y 0.5 - 5 * ; : len dup * swap dup * + sqrt ; : polar x' y' atan2 x' y' len log ; polar 5 t sin * * + sin 0.01 - abs 0.3 - negate 1.4 * 10 **
Log Spiral
dar
'24 Nov 28
( so crazy ... ) : xy x .5 - 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 xy atan2 ; : r' a abs log 2 / ; r' r - .12 - abs 12 ** .01 <
Dat azz ...
DarkstarAG
'24 Nov 28
: cs 63.5 * .3 - cos ; ( deform x and y ) : x' x .5 - dup * y .5 - dup * + sqrt ; : y' x' sin x .5 - 1 y .5 - - / + ; : tween ( a b t - ) 100 mod sin dup rot * -rot 1 - negate * + ; : astroida ( x y R - f ) 0.6667 ** swap .6667 ** - swap .6667 ** - negate ; ( coordinate mesh ) x x' t tween dup >r cs 2 / y y' t tween dup >r cs 2 / ( draw in deformed space ) r> r> -.7 -.7 z+ .3 astroida .1 - abs .03 <
Space Deform
DarkstarAG
'24 Nov 28
( use high-frequency sin ) : xy x y -.5 -.5 z+ ; xy * 1e7 * t + 3 + sin abs 10 ** xy * 1e6 * t + 2 + sin abs 30 ** xy * 1e4 * t + 1 + sin abs 50 **
Carpet 01
DarkstarAG
'24 Nov 28
( because of -2 ^ 3 = -8 but abs[] makes all things works in the same manner given same result. differ GPUs use differ code for x^n. pow[] possibly using float math and not interesting for n is integer. we don't need make native code too complex, abs[] is a simply fix to get predictable code if you want integer pow define own code ^2 ^3 ... ? may be need define '_pow' without abs[], 'pow' with abs[] ) ( >r r> is shorter than swap ) : 1/x >r 1 r> / ; : ^2 dup * ; : ^3 dup dup * * ; : ^4 ^2 ^2 ; : ^5 dup ^4 * ; : ^6 ^3 ^2 ; : ^7 dup ^6 * ; : ^8 ^4 ^2 ; : ^9 dup ^8 * ; : ^10 ^5 ^2 ; : q ( x - x^2 ) dup * ; : sqr ( x - x^2 ) dup * ; -2 ^3 ( ... need a forum ... )
Code fixing reply 2
DarkstarAG
'24 Nov 28
( abs to pow is a BAD solution because of -2 ^ 3 = -8, NOT 8 just look what you need to port into shader code to make it works "well": tinyurl.com/plvo4gj ) -2 3 **
Code fixing reply
Vort
'24 Nov 28
: xy x .5 - y .5 - ; : r xy 2dup negate z* + sqrt ; : a xy atan2 ; : r' a log ; r' r >
Dat yours ?
DarkstarAG
'24 Nov 28
: r@ r> dup >r ; : pulse t 2 * sin 2 / ; : x' x .5 - 4 pulse + r@ + * ; : y' y .5 - 4 pulse + r@ + * ; ( use manual pow: ) : ^2 dup * ; : ^3 dup dup * * ; ( cardioida heart ) : cardioida x' ^2 y' ^2 + 1 - ^3 x' ^2 y' ^3 * - 0 < ; 0 >r cardioida r> drop .2 >r cardioida r> drop -
Heart curve
DarkstarAG
'24 Nov 28
( test of visualizing equation polar r=F[phi,a], r=2a[1+cosphi] ) : ^2 dup * ; : ^3 dup dup * * ; : x' x .5 - ; : y' y .5 - ; : r' x' y' atan2 2 * t pi * - cos .2 - ^3 2 / ; : r x' ^2 y' ^2 + sqrt ; : cardioida r' r - abs .02 < ; cardioida
Cardioida Polar Infinity (fix1)
DarkstarAG
'24 Nov 28
( Yet another trying ... 8600 GTX OK ) : z^2 2dup z* ; : z^3 2dup 2dup z* z* ; : xy x y -.5 -.5 z+ ; : r xy 2dup negate z* + sqrt ; xy swap t sin t cos z* z^3 z^2 + 1e6 * r .45 < * r .11 > * r .3 < + r .49 < r .48 > *
Ventillator 3
DarkstarAG
'24 Nov 28
( Visualization of f[x,y] ) ( Multiple viewport ) ( Animation ) : n 1 + 2 / ; : ^2 dup * ; : ^3 dup dup * * ; : c+ ( a b c d e f - a+d b+e c+f ) rot >r z+ rot r> + -rot ; : c*k ( a b c k - ka kb kc ) 0 over >r z* rot r> * -rot ; : clip 0 max 1 min ; : xy x y -.5 -.5 z+ ; : item ( x - d x' ) dup 256 mod 256 / swap 256 / floor ; : color ( x - r g b ) 16777216 * floor item item item drop ; : pack-color ( r g b - .f ) 256 * + 256 * + 256 * 16777618 / ; : fix8 ( x - x' ) 256 * floor 256 / ; : banana ( x y - ) over ^2 - ^2 100 * 1 swap - ^2 + ; : rainbow ( .f - r g b ) dup 3 * 1 + sin swap dup 3 * 0 + sin swap dup 3 * 5 + sin swap drop ; : cells ( x y - f ) sin swap sin * 1 + 2 / ; : astroida ( x y R - f ) 0.6667 ** swap .6667 ** - swap .6667 ** - negate ; : heart ( x y - f ) 2dup ^2 swap ^2 + 1 - ^3 -rot ^3 swap ^2 * - 0 < ; ( astroida ) xy .25 -.25 z+ 25 0 z* 1 astroida t 2 * sin .4 * + clip rainbow x .5 < y .5 > * c*k ( cells ) xy 25 0 z* cells rainbow x .5 < y .5 < * c*k c+ ( banana ) xy -.25 -.1 z+ 4 0 z* banana t sin + clip rainbow x .5 > y .5 > * c*k c+ ( cardioida heart ? ) xy -.22 .25 z+ 10 0 z* heart 3 ** abs t sin + rainbow x .5 > y .5 < * c*k c+ : ' .5 - 5 * ; : sq dup * ; : ^ ' t pi * .7 * sin sq -.5 * exp * ; : quad dup sq * ; : heart x ^ sq y ^ 3 * 2.5 1 - + 3 / x ^ abs sqrt - sq + 1 - ; : ish heart 0.0000001 < ; : noh heart 0.0000001 >= ; : dh heart abs ; noh -3 dh * exp * ish + rainbow ( 0 0 x .5 > y .5 < * c*k ) c+
Surfaces MultiViews 3
DarkstarAG
'24 Nov 28
( Hi, BradN! Thank you for your work ! ) : pulse t 2 * sin 2 / ; : x' x .5 - 4 pulse + * ; : y' y .5 - 4 pulse + * ; ( use manual pow: ) : ^2 dup * ; : ^3 dup dup * * ; ( cardioida heart ) : cardioida x' ^2 y' ^2 + 1 - ^3 x' ^2 y' ^3 * - ; cardioida 0 <
We Love Forth!
DarkstarAG
'24 Nov 28
( DarkstarAG, added abs to pow. Good idea, NaNs not so useful. Log already had abs. Or I miss something? Your Surface Multiviews rocks! Really need to add forum... ) x negate y ** y .5 > * x negate log exp y .5 < *
Please, fix code! Reply
BradN
'24 Nov 28
( Please fix your WebGL shader code ! Add Math.abs for Math.pow and Math.log: ... dstack.push[Math.pow[dstack.pop[], work1]]; ... ) x negate ( abs ) y **
Please, fix code!
DarkstarAG
'24 Nov 28
( Visualization of f[x,y] ) ( Multiple viewport ) ( Animation ) ( O St. Blinn! WTF! Not work for GT 8600 ! astroida fixed ??? ) : n 1 + 2 / ; : ^2 dup * ; : ^3 dup dup * * ; : c+ ( a b c d e f - a+d b+e c+f ) rot >r z+ rot r> + -rot ; : c*k ( a b c k - ka kb kc ) 0 over >r z* rot r> * -rot ; : clip 0 max 1 min ; : xy x y -.5 -.5 z+ ; : item ( x - d x' ) dup 256 mod 256 / swap 256 / floor ; : color ( x - r g b ) 16777216 * floor item item item drop ; : pack-color ( r g b - .f ) 256 * + 256 * + 256 * 16777618 / ; : fix8 ( x - x' ) 256 * floor 256 / ; : banana ( x y - ) over ^2 - ^2 100 * 1 swap - ^2 + ; : rainbow ( .f - r g b ) dup 3 * 1 + sin swap dup 3 * 0 + sin swap dup 3 * 5 + sin swap drop ; : cells ( x y - f ) sin swap sin * 1 + 2 / ; : astroida ( x y R - f ) abs .6667 ** swap abs .6667 ** - swap abs .6667 ** - negate ; : heart ( x y - f ) 2dup ^2 swap ^3 + 1 - ^3 -rot ^3 swap ^2 * - ; ( astroida ) xy .25 -.25 z+ 25 0 z* 1 astroida t 2 * sin .4 * + clip rainbow x .5 < y .5 > * c*k ( cells ) xy 25 0 z* cells rainbow x .5 < y .5 < * c*k c+ ( banana ) xy -.25 -.1 z+ 4 0 z* banana t sin + clip rainbow x .5 > y .5 > * c*k c+ ( cardioida heart ? ) xy -.22 .25 z+ 10 0 z* heart 3 ** abs t sin + rainbow x .5 > y .5 < * c*k c+ : ' .5 - 5 * ; : sq dup * ; : ^ ' t pi * .7 * sin sq -.5 * exp * ; : quad dup sq * ; : heart x ^ sq y ^ 3 * 2.5 1 - + 3 / x ^ abs sqrt - sq + 1 - ; : ish heart 0.0000001 < ; : noh heart 0.0000001 >= ; : dh heart abs ; noh -3 dh * exp * ish + rainbow c+
Surfaces MultiViews 2 fix1
DarkstarAG
'24 Nov 28
( Visualization of f[x,y] ) ( Multiple viewport ) ( Animation ) : n 1 + 2 / ; : ^2 dup * ; : ^3 dup dup * * ; : c+ ( a b c d e f - a+d b+e c+f ) rot >r z+ rot r> + -rot ; : c*k ( a b c k - ka kb kc ) 0 over >r z* rot r> * -rot ; : clip 0 max 1 min ; : xy x y -.5 -.5 z+ ; : item ( x - d x' ) dup 256 mod 256 / swap 256 / floor ; : color ( x - r g b ) 16777216 * floor item item item drop ; : pack-color ( r g b - .f ) 256 * + 256 * + 256 * 16777618 / ; : fix8 ( x - x' ) 256 * floor 256 / ; : banana ( x y - ) over ^2 - ^2 100 * 1 swap - ^2 + ; : rainbow ( .f - r g b ) dup 3 * 1 + sin swap dup 3 * 0 + sin swap dup 3 * 5 + sin swap drop ; : cells ( x y - f ) sin swap sin * 1 + 2 / ; : astroida ( x y R - f ) 0.6667 ** swap .6667 ** - swap .6667 ** - negate ; : heart ( x y - f ) 2dup ^2 swap ^3 + 1 - ^3 -rot ^3 swap ^2 * - ; ( astroida ) xy .25 -.25 z+ 25 0 z* 1 astroida t 2 * sin .4 * + clip rainbow x .5 < y .5 > * c*k ( cells ) xy 25 0 z* cells rainbow x .5 < y .5 < * c*k c+ ( banana ) xy -.25 -.1 z+ 4 0 z* banana t sin + clip rainbow x .5 > y .5 > * c*k c+ ( cardioida heart ? ) xy -.22 .25 z+ 10 0 z* heart 3 ** abs t sin + rainbow x .5 > y .5 < * c*k c+ : ' .5 - 5 * ; : sq dup * ; : ^ ' t pi * .7 * sin sq -.5 * exp * ; : quad dup sq * ; : heart x ^ sq y ^ 3 * 2.5 1 - + 3 / x ^ abs sqrt - sq + 1 - ; : ish heart 0.0000001 < ; : noh heart 0.0000001 >= ; : dh heart abs ; noh -3 dh * exp * ish + rainbow ( 0 0 x .5 > y .5 < * c*k ) c+
Surfaces MultiViews 2
DarkstarAG
'24 Nov 28
Next