Haiku Gallery
: 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
'25 Jul 11
: 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
'25 Jul 11
( 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
'25 Jul 11
( 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
'25 Jul 11
: 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
'25 Jul 11
: tpi pi * ; : tpi2 pi 2 * * ; : m10 0.15 mod 10 * cos ; x tpi sin m10 y tpi sin m10 *
square paranoia
Anonymous
'25 Jul 11
( NVidia 8600 GT, FireFox 28 - WebGL not works! ) t
FF28 WebGL not works :-/
DarkstarAG
'25 Jul 11
( 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
'25 Jul 11
( 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
'25 Jul 11
x 9.4 * sin y 9.4 * sin t .0001 * * * x t 2 * * sin y t 3 * * sin
Another Discodux
Anonymous
'25 Jul 11
: 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
'25 Jul 11
: 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
'25 Jul 11
( 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
'25 Jul 11
: 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
'25 Jul 11
( 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
'25 Jul 11
( 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
'25 Jul 11
( 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
'25 Jul 11
: xy x .5 - y .5 - ; : r xy 2dup negate z* + sqrt ; : a xy atan2 ; : r' a log ; r' r >
Dat yours ?
DarkstarAG
'25 Jul 11
: 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
'25 Jul 11
( 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
'25 Jul 11
( 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
'25 Jul 11
( 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
'25 Jul 11
( 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
'25 Jul 11
( 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
'25 Jul 11
( 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
'25 Jul 11
( 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
'25 Jul 11
( 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
'25 Jul 11
( 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+
Surfaces MultiViews
DarkstarAG
'25 Jul 11
( Rosenbrock banana function ) : n 1 + 2 / ; : q dup * ; : banana ( dx dy - ) over >r y x z+ q - q 100 * 1 x r> + - q + pi * 10 / sin n ; t sin 0.5 * t cos 0.5 * banana t sin 0.25 * t cos 0.25 * banana t sin 0.125 * t cos 0.125 * banana
Rosenbrock banana Redux
Stainless
'25 Jul 11
( Rosenbrock banana function ) : n 1 + 2 / ; : q dup * ; : banana ( x y - ) over q - q 100 * 1 swap - q + 100 / pi * sin ; x .5 - y .25 - 3 0 z* banana
Rosenbrock banana contour
DarkstarAG
'25 Jul 11
( Rosenbrock banana function ) : n 1 + 2 / ; : q dup * ; : banana ( dx dy - ) over >r y x z+ q - q 100 * 1 x r> + - q + pi * 10 / sin n ; t sin 5 * t cos 5 * banana
Rosenbrock banana
DarkstarAG
'25 Jul 11
( use complex math ) x y 25 25 z* cos >r cos r> <
Checkers (28b)
DarkstarAG
'25 Jul 11
( WTF? previous not work ) ( fixed for GTX 460 ) : xy x y -.5 -.5 z+ ; : r xy 2dup negate z* + sqrt ; xy swap t sin t cos z* 2dup 2dup z* z* 2dup z* + 1e10 * 5 ** r .45 < * r .1 > * r .3 < + r .49 < r .48 > *
Ventillator (fix1)
DarkstarAG
'25 Jul 11
: x x 1 + t sin 2 + * ; : y y t sin 2 + * ; x x t + 23 * sin 2 / y max / sin y x t + 23 * sin 2 / y max / sin over over / sin
spirez
BradN
'25 Jul 11
: xy x y -.5 -.5 z+ ; : r xy 2dup negate z* + sqrt ; xy atan2 3 * sin dup * 4 ** 2 / r 18 * sin t sin - abs max dup tan 10 / dup 30 * cos
Ship Ring Anim
DarkstarAG
'25 Jul 11
: xy x y -.5 -.5 z+ ; : r xy 2dup negate z* + sqrt ; xy swap t sin t cos z* 2dup 2dup z* z* 2dup z* + .01 ** r .45 > * 1e-4 < r 0.1 < + r .49 < r .48 > *
Ventillator
DarkstarAG
'25 Jul 11
( Arecibo Message, 23*73 = 1679 bits) ( NVidia GeForce GTX 460, 8600 GT ) : w 80 * floor ; : d ( v n - d ) >r 2 r> ** / ( floor ) 2 mod ; : , ( v y - f ) y w = >r x w d r> * ; : # ( c y v - c' y' ) , + ; 0 0 995230 0 # 5248 1 # 32800 2 # 33824 3 # 35360 4 # 561442 5 # 565410 6 # 835686 7 # 426028 8 # 196632 9 # 114800 10 # 32704 11 # 7936 12 # 81920 13 # 1392668 14 # 5591388 15 # 1052 16 # 0 17 # 6916 18 # 395780 19 # 8260100 20 # 7211520 21 # 7736861 22 # 8277568 23 # 7155332 24 # 7940 25 # 1028 26 # 13764 27 # 49200 28 # 196616 29 # 263172 30 # 526338 31 # 1051650 32 # 1051652 33 # 525320 34 # 265264 35 # 198848 36 # 52224 37 # 198848 38 # 265264 39 # 527368 40 # 1050628 41 # 3072 42 # 8129567 43 # 4197392 44 # 3072 45 # 2100232 46 # 0 47 # 8255455 48 # 2941707 49 # 262401 50 # 815299 51 # 0 52 # 8126495 53 # 4194320 54 # 0 55 # 2097160 56 # 0 57 # 8255455 58 # 2896267 59 # 311297 60 # 799171 61 # 0 62 # 15872 63 # 10752 64 # 11264 65 # 11264 66 # 12288 67 # 0 68 # 1201493 69 # 2527505 70 # 1053716 71 # 5440 72 # t pi * 3 / sin 1 + 2 / * ( : full-line 8388607 73 # ; ) 1
Arecibo Message
DarkstarAG
'25 Jul 11
( Arecibo Message, 23*79 = bits) ( partial picture because shader limit ) ( NVidia GeForce GTX 460 ; here 23*44 = 1012 bits ) : w 80 * floor ; : d ( v n - d ) 2 swap ** / ( floor ) 2 mod ; : , ( v y - f ) >r x w d r> y w = * ; : # ( c y v - c' y' ) over , rot + swap 1 + ; 0 0 0 995230 # 5248 # 32800 # 33824 # 35360 # 561442 # 565410 # 835686 # 426028 # 196632 # 114800 # 32704 # 7936 # 81920 # 1392668 # 5591388 # 1052 # 0 # 6916 # 395780 # 8260100 # 7211520 # 7736861 # 8277568 # 7155332 # 7940 # 1028 # 13764 # 49200 # 196616 # 263172 # 526338 # 1051650 # 1051652 # 525320 # 265264 # 198848 # 52224 # 198848 # 265264 # 527368 # 1050628 # 3072 # 8129567 # ( 4197392 # 3072 # 2100232 # 0 # 8255455 # 2941707 # 262401 # 815299 # 0 # 8126495 # 4194320 # 0 # 2097160 # 0 # 8255455 # 2896267 # 311297 # 799171 # 0 # 15872 # 10752 # 11264 # 11264 # 12288 # 0 # 1201493 # 2527505 # 1053716 # 5440 # ) drop 1
Arecibo Message (1012 bits)
DarkstarAG
'25 Jul 11
: xy x y -.5 -.5 z+ ; 0 xy pi pi 2 * z* sin swap cos 2dup z* 2dup z* 2dup z* t pi * sin t 2 * pi * cos z* .1 + + sqrt 1.3 swap - dup 3 ** swap abs .5 **
Biomorf 01
DarkstarAG
'25 Jul 11
x y -.5 -.5 z+ 5 5 z* 2dup 2dup z* z* 2dup z* 2dup z* 2dup z* t 2 * pi * sin pi z* x y -.5 -.5 z+ 2dup negate z* + sqrt 20 t -1 mod * pi * * sin 1 - abs
Darkstar
DarkstarAG
'25 Jul 11
Next