Haiku Gallery
1 2 3 4 z+
Untitled
Anonymous
'24 Dec 22
x 0.0000000001 t * / y mod \ x 0.0000000001 t * / 1 mod \ x 0.0000000001 t * / 1 mod \ (x / .0001t ) mod 1
rune combinator, broken Redux
Anonymous
'24 Dec 22
x 23 * sin y max x over / sin y rot / sin 2dup / sin swap 0.6 * swap .2 * swap + swap over + 2dup + .4 * rot
4spire sunset
BradN
'24 Dec 22
x 0.0000000001 t * / y mod \ x 0.0000000001 t * / 0.5 mod \ x 0.0000000001 t * / 0.6 mod \ (x / .0001t ) mod 0.5
rune combinator, broken
public domain
'24 Dec 22
x 0.0000000001 t * / 0.5 mod 1.25 * dup dup 0.85 * 1 1 * *
pageflip toy
public domain
'24 Dec 22
x y + 2 / y x 3.14 * t + sin dup *
five seven five
jared
'24 Dec 22
x y + 2 / y x 3.14 * sin dup * t +
Untitled
Anonymous
'24 Dec 22
: x x 7 * sin ; : y y 7 * sin ; x x * y - 3 * sin y y * x - 7 * sin 2dup z* x x * y - 5 * cos
Cyclopizoid
Anonymous
'24 Dec 22
: range 1.5 ; : radius 5.2 ; : sharpness 5 t 5.1 / sin + ; : disk y - dup * swap x - dup * + sqrt .1 ** -1 * 1 + radius * 0 max 1 min sharpness pow ; : move t * + range mod range 2 / - abs range 4 / - .5 + ; .1 .11 move .4 -.21 move disk 1.2 .13 move -.5 .17 move disk -.3 .16 move .6 -.27 move disk -.7 .19 move -.8 .23 move disk + + + 1 t 3 / sin .5 - 0 max 3 * + \ glass min dup -1 * 1 + 18 ** 3 / swap .963 - abs -1 * 1 + 20 ** + dup 3 ** over .1 ** -rot \ colours
Metaballs
Manwe
'24 Dec 22
\ try with sound! : web push push x 0.5 + y 0.3 + * pop * sin 0 max x 0.3 + y 0.5 + * pop * sin 0 max + ; \ variables : a! 0 ! ; : a 0 @ ; : b! 0 ! ; : b 0 @ ; \ t seems to work better than dt t 31 mod a! t 23 mod b! a b web 17 17 web * x + b a web 19 19 web * y x * + a a web 07 07 web * y +
rainbow ripples (streak Redux)
~JRF
'24 Dec 22
: iii x y z* Sin ; x 5 * x y - iii exp y iii
Untitled
Brad Nelson himself
'24 Dec 22
( Use mouse to draw ) : f 15 * floor ; : fx x f ; : fy y f ; : fmx mx f ; : fmy my f ; : in mx 0 > mx 1 < my 0 > my 1 < * * * ; : mmf fmy 15 * fmx + 16 / floor ; : mmb fmy 15 * fmx + 16 mod ; 15 @ 16 mod fmx <> 15 @ 16 / floor 16 mod fmy <> or 0 button * in * if mmf @ 2 mmb ** / 1 over floor 2 mod 2 * - + 2 mmb ** * mmf ! then 0 button in * dup fmy 16 * fmx + * swap not 65535 * + 15 ! fy 15 * fx + 16 / floor @ 2 fy 15 * fx + 16 mod ** / floor 2 mod dup dup
Pixel Editor Redux
Anonymous
'24 Dec 22
x 1000 / 5 + t .2 * * sin y sin - y .3 * - x 1000 / 91 + t .2 * * sin y sin - y - x 1000 / 7 + t .2 * * sin y sin - y .7 * -
Spree
Anonymous
'24 Dec 22
.1 .5 y x cos x sin * + t + x 1.5 + mod -
Matrix? Redux
Nauz_Rem
'24 Dec 22
: xor + abs 2 mod ; x t sin y t cos xor
colors
Nauz_Rem
'24 Dec 22
t 1 mod x - abs 0.01 < t 1 mod 1 x - - abs 0.01 < + t 1 mod y - abs 0.01 < t 1 mod 1 y - - abs 0.01 < + t 1 mod
bars
Pig
'24 Dec 22
( Welcome to www.thesands.ru/forth-demotool/ ) : f 2dup * 2 * .17 + -rot .4 ** sin swap .7 ** - .13 + ; y x .5 - f f .15 rot / .11 rot / log y * + abs dup 7 / over log rot rot .2 * rot .3 * rot .3 +
Tweaked Ice
Anonymous
'24 Dec 22
: x x .3 + ; x sin y / 0.1 * dup .6 * x sqrt
solar orb
Anonymous
'24 Dec 22
x 23 * sin y max x over / sin y rot / sin 2dup / sin swap 0.6 * swap
4spire darker
BradN
'24 Dec 22
x y + 1.23 + x * y * y sin 2dup * over < x -
Untitled
Anonymous
'24 Dec 22
10 lines (10 sloc) 1.29 KB \ Фигура Лиссажу : xx 2 ( частота x ) * sin 0.45 * 0.5 + x - dup * ; \ квадрат смещения по x между текущей точкой и той, которую надо отрисовать : yy 3.5 ( частота y ) * cos 0.45 * 0.5 + y - dup * ; \ квадрат смещения по y между текущей точкой и той, которую надо отрисовать : zz dup xx swap yy + ; \ квадрат расстояния между текущей точкой и той, которую надо отрисовать : aa zz 0.0002 ( квадрат радиуса ) < ; \ 1, если текущая точка попадает в окрестность заданной : bb swap 1 + dup 0.03 ( сдвиг t между кружочками ) * negate t + aa over 0.95 swap pow * rot max ; \ сдвигаем время и добавляем еще одну заданную точку -1 0 \ начальный сдвиг и цвет bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb \ Рисуем много кружочков со сдвигом по времени swap drop \ выкидываем оставшееся время из стека dup dup \ дублируем значение для белого цвета
Untitled
Anonymous
'24 Dec 22
Skip to content Why GitHub? Team Enterprise Explore Marketplace Pricing Sign in Sign up igormulyaev / forth-haiku 1 0 0 Code Issues Pull requests Actions Projects Security Insights forth-haiku/Happy New Year/Happy New Year.fh 166 lines (140 sloc) 5.24 KB \ Для работы нужно отключение проверки на длину программы в haiku.js \ "С новым годом" : w 1 13 / ; \ char width : w2 w 2 / ; \ char width / 2 : w_inner w 3 / ; \ inner width : w_outer w2 w_inner - ; \ line width : h w 1.5 * ; \ char height : h2 h 2 / ; \ char height / 2 : factor_y w h / ; \ ellipse factor = width / height : xor 2dup not and -rot swap not and or ; : sq dup * ; \ square : norm_xy negate y + swap negate x + swap ; \ (x1 y1 -> x-x1 y-y1) : push_xy push push ; : pop_xy pop pop ; : copy_xy pop_xy 2dup push_xy ; \ copy two values from return stack : copy_xy_norm pop_xy norm_xy 2dup push_xy ; \ norm and copy two values from return stack : center z+ 0.5 0 z* ; \ (x1 y1 x2 y2 -> x_center y_center) : radius negate swap negate swap z+ sq swap sq + 4 / sqrt ; \ (x1 y1 x2 y2 -> radius) : phase negate swap negate swap z+ atan2 ; \ (x1 y1 x2 y2 -> phase) : ellipse rot * sq swap sq + >= ; \ (r^2 factor_y x_center_norm y_center_norm) -> 0 | 1 : rect abs h2 < swap abs w2 < and ; \ (x_center_norm y_center_norm) -> 0 | 1 \ center of char -> return stack: x1 y1 push_xy : char_c w2 sq factor_y copy_xy_norm ellipse \ outer ellipse w_inner sq factor_y copy_xy ellipse not and \ inner ellipse pop_xy abs w_inner > swap 0 < or and \ right hole ; : char_h copy_xy_norm rect \ whole char rect pop_xy abs w_outer < swap abs w_inner >= or and \ top and bottom cutouts ; : char_o w2 sq factor_y copy_xy_norm ellipse \ outer ellipse w_inner sq factor_y pop_xy ellipse not and \ inner ellipse ; : char_b w w_outer - sq w h / 3 * copy_xy_norm w2 h2 2 / negate z+ ellipse \ top ellipse w w_outer 2 * - sq w h / 4 * copy_xy w2 h2 2 / negate z+ ellipse not and \ top ellipse hole w sq w h / 3.5 * copy_xy w2 h2 2 / z+ ellipse or \ bottom ellipse w w_outer - sq w h / 5 * copy_xy w2 h2 2 / z+ ellipse not and \ bottom ellipse hole copy_xy drop w_inner negate < or \ left line pop_xy rect and \ whole rect ; : char_y w 0.67 * sq w h / 2.5 * copy_xy_norm w2 h2 2 / z+ ellipse \ bottom ellipse w 0.67 * w_outer - sq w h / 3 * copy_xy w2 h2 2 / z+ ellipse not and \ bottom ellipse hole copy_xy drop abs w_inner > or \ left and right lines pop_xy rect and \ whole rect ; : char_m copy_xy_norm factor_y * + 0 > \ \line copy_xy factor_y * - 0 < and \ /line copy_xy factor_y * + w_outer > \ \cutout copy_xy factor_y * - w_outer negate < and not and \ /cutout copy_xy drop abs w_inner > or \ left and right lines pop_xy rect and \ whole rect ; : char_g copy_xy_norm rect \ whole rect pop_xy h2 w_outer - < swap w_inner negate > and not and ; : char_d copy_xy_norm swap 2 * swap factor_y * + w2 < \ \line copy_xy swap 2 * swap factor_y * - w2 negate > and \ /line w_outer sq factor_y copy_xy w_outer + ellipse not and \ central hole copy_xy swap drop h2 negate w_inner + < or \ bottom block copy_xy h2 negate w_outer + < swap abs w_inner < and not and \ bottom cutoff pop_xy rect and \ whole rect ; : pos_c_a w 2.5 * w 7.5 * h2 + ; : pos_h_a w 4.5 * w 7.5 * h2 + ; : pos_o1_a w 6 * w 7.5 * h2 + ; : pos_b_a w 7.5 * w 7.5 * h2 + ; : pos_y_a w 9 * w 7.5 * h2 + ; : pos_m1_a w 10.5 * w 7.5 * h2 + ; : pos_g_a w 3.5 * w 4 * h2 + ; : pos_o2_a w 5 * w 4 * h2 + ; : pos_d_a w 6.5 * w 4 * h2 + ; : pos_o3_a w 8 * w 4 * h2 + ; : pos_m2_a w 9.5 * w 4 * h2 + ; : pos_c_b w 10.5 * w 7.5 * h2 + ; : pos_h_b w 7 * w 7.5 * h2 + ; : pos_o1_b w 8.5 * w 7.5 * h2 + ; : pos_b_b w 5.5 * w 7.5 * h2 + ; : pos_y_b w 5 * w 4 * h2 + ; : pos_m1_b w 6.5 * w 4 * h2 + ; : pos_g_b w 2.5 * w 7.5 * h2 + ; : pos_o2_b w 4 * w 7.5 * h2 + ; : pos_d_b w 3.5 * w 4 * h2 + ; : c_c pos_c_a pos_c_b center ; : r_c pos_c_a pos_c_b radius ; : p_c pos_c_a pos_c_b phase ; : c_h pos_h_a pos_h_b center ; : r_h pos_h_a pos_h_b radius ; : p_h pos_h_a pos_h_b phase ; : c_o1 pos_o1_a pos_o1_b center ; : r_o1 pos_o1_a pos_o1_b radius ; : p_o1 pos_o1_a pos_o1_b phase ; : c_b pos_b_a pos_b_b center ; : r_b pos_b_a pos_b_b radius ; : p_b pos_b_a pos_b_b phase ; : c_y pos_y_a pos_y_b center ; : r_y pos_y_a pos_y_b radius ; : p_y pos_y_a pos_y_b phase ; : c_m1 pos_m1_a pos_m1_b center ; : r_m1 pos_m1_a pos_m1_b radius ; : p_m1 pos_m1_a pos_m1_b phase ; : c_g pos_g_a pos_g_b center ; : r_g pos_g_a pos_g_b radius ; : p_g pos_g_a pos_g_b phase ; : c_o2 pos_o2_a pos_o2_b center ; : r_o2 pos_o2_a pos_o2_b radius ; : p_o2 pos_o2_a pos_o2_b phase ; : c_d pos_d_a pos_d_b center ; : r_d pos_d_a pos_d_b radius ; : p_d pos_d_a pos_d_b phase ; : tt t 3 * t 3 * sin - 0.5 * ; : pos_c c_c tt p_c + dup sin swap cos r_c 0 z* z+ push_xy ; : pos_h c_h tt p_h + dup sin swap cos r_h 0 z* z+ push_xy ; : pos_o1 c_o1 tt p_o1 + dup sin swap cos r_o1 0 z* z+ push_xy ; : pos_b c_b tt p_b + dup sin swap cos r_b 0 z* z+ push_xy ; : pos_y c_y tt p_y + dup sin swap cos r_y 0 z* z+ push_xy ; : pos_m1 c_m1 tt p_m1 + dup sin swap cos r_m1 0 z* z+ push_xy ; : pos_g c_g tt p_g + dup sin swap cos r_g 0 z* z+ push_xy ; : pos_o2 c_o2 tt p_o2 + dup sin swap cos r_o2 0 z* z+ push_xy ; : pos_d c_d tt p_d + dup sin swap cos r_d 0 z* z+ push_xy ; : pos_o3 pos_o3_a push_xy ; : pos_m2 pos_m2_a push_xy ; pos_c char_c pos_h char_h xor pos_o1 char_o xor pos_b char_b xor pos_y char_y xor pos_m1 char_m xor pos_g char_g xor pos_o2 char_o xor pos_d char_d xor pos_o3 char_o xor pos_m2 char_m xor dup dup © 2021 GitHub, Inc. Terms Privacy Security Status Help Contact GitHub Pricing API Training Blog About
Untitled
Anonymous
'24 Dec 22
\ бегающий по кардиоиде фрактал Мандельброта : xx x .8 - ; : yy y .5 - ; : tt t .4 * ; : a .25 * ; : mx xx 2 a tt cos * 2 tt * cos a - + ; : my yy 2 a tt sin * 2 tt * sin a - + ; : mm 2dup Z* mx my z+ ; mx my mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm dup * swap dup * + 0 > negate 1 + dup dup
Untitled
Anonymous
'24 Dec 22
: ox x ; : x 1 x - ; : x x 2 pow x .05 * - 2 pow ; y 7 pi * * pi - sin 0 max x pi * 2 * sin 0 max + dup 0.8 * over 0.3 * dup 8 * ox .5 - 3 pow y .5 - 3 pow + .12 / 1 swap - 16 * 0 max 1 min *
EForth Yellower
BradN
'24 Dec 22
: ox x ; : x 1 x - ; : x x 2 pow x .05 * - 2 pow ; y 7 pi * * pi - sin 0 max x pi * 2 * sin 0 max + dup 0.7 * over 0.3 * dup 8 * ox .5 - 3 pow y .5 - 3 pow + .12 / 1 swap - 16 * 0 max 1 min *
EForth
BradN
'24 Dec 22
: x x 0.5 - 7 * t + cos ; : y y 0.5 - 55 * t .1 * + sin ; y x 31 * sin x y 9 * cos z* - dup 1.9 * dup .18 *
Enmeshed in Light Redux
Anonymous
'24 Dec 22
: d dup ; : m 1 min ; : c c floor -5 ; : c cos abs ; : j t 41 + 21 * x 8 * floor 8 / + 14 * c 2 / t 4 + 2 / c 4 ** * - ; : a 1 c x 8 * floor 0.5 + 8 / - d * y ; : b - d * + sqrt 50 * 18 ** ; : p c tg 4 + pi / f 1.6 * - 0.2 + ; : v t 4 + pi 2 * / f ; a j 0.5111 b - v d 0.5 < * 4 * m * 1 p c * y 0.5 - d * + 326 * 130 ** m - y 0.5 - p atan2 abs t 10 * c 0.8 * - 16 * m * 0 max a 0.5 c - 0 max d p 16 * < * + p d * y 0.58 b m * v 0.5 >= * + d 0.2
PACMAN Redux Redux Redux Redux
Anonymous
'24 Dec 22
: d dup ; : m 1 min ; : c c floor - ; : c cos abs ; : j t 41 + 21 * x 8 * floor 8 / + 14 * c 2 / t 4 + 2 / c 4 ** * - ; : a 1 c x 8 * floor 0.5 + 8 / - d * y ; : b - d * + sqrt 50 * 18 ** ; : p c t 4 + pi / f 1.6 * - 0.2 + ; : v t 4 + pi 2 * / f ; a j 0.5111 b - v d 0.5 < * 4 * m * 1 p c * y 0.5 - d * + 326 * 130 ** m - y 0.5 - p atan2 abs t 10 * c 0.8 * - 16 * m * 0 max a 0.5 c - 0 max d p 16 * < * + p d * y 0.58 b m * v 0.5 >= * + d 0.2
PACMAN Redux Redux Redux
Anonymous
'24 Dec 22
: d dup ; : m 1 min ; : f d floor - ; : c cos abs ; : j t 41 + 21 * x 8 * floor 8 / + 14 * c 2 / t 4 + 2 / c 4 ** * - ; : a 1 x x 8 * floor 0.5 + 8 / - d * y ; : b - d * + sqrt 50 * 18 ** ; : p x t 4 + pi / f 1.6 * - 0.2 + ; : v t 4 + pi 2 * / f ; a j 0.5111 b - v d 0.5 < * 4 * m * 1 p d * y 0.5 - d * + 326 * 130 ** m - y 0.5 - p atan2 abs t 10 * c 0.8 * - 16 * m * 0 max a 0.5 b - 0 max d p 16 * < * + p d * y 0.58 b m * v 0.5 >= * + d 0.2
PACMAN Redux Redux
Anonymous
'24 Dec 22
: d dup ; : m 1 min ; : f d floor - ; : c cos abs ; : j t 4 + 2 * x 8 * floor 8 / + 4 * c 2 / t 4 + 2 / c 4 ** * - ; : a 1 x x 8 * floor 0.5 + 8 / - d * y ; : b - d * + sqrt 50 * 8 ** ; : p x t 4 + pi / f 1.6 * - 0.2 + ; : v t 4 + pi 2 * / f ; a j 0.5 b - v d 0.5 < * 4 * m * 1 p d * y 0.5 - d * + 326 * 30 ** m - y 0.5 - p atan2 abs t 10 * c 0.8 * - 16 * m * 0 max a 0.5 b - 0 max d p 16 * < * + p d * y 0.58 b m * v 0.5 >= * + d 0.2
PACMAN Redux
Anonymous
'24 Dec 22
: sq dup * ; ( translate origin to the center ) : x x 0.5 - 4 * ; : y y 0.4 - 5 * ; ( animate r ) : r 2 t * sin 1.3 + ; ( x^2 + (y-sqrt(|x|)^2 = r heart equation ) x sq y x abs sqrt - sq + r <= 0.3 0.5
Heart
G0_G4
'24 Dec 22
( color scheme: QuickBasic and MSX2 memories ) 0 5 x .5 - 20 ** y .5 - 20 ** + .05 ** dup -rot / t dup floor - pi * 2 * + sin over 9 * 4 ** ** swap .1 max .1 - * 5 * 1 min .9
Untitled
Anonymous
'24 Dec 22
: x x 0.5 - ; : y y 0.5 - ; y x atan2 x x * y y * + sqrt 10 * + t 10 mod - abs 1 - 1 mod y x atan2 2 * x x * y y * + sqrt 7 * + t 10 mod - abs 1 - 1 mod y x atan2 3 * x x * y y * + sqrt 5 * + t 10 mod - abs 1 - 1 mod over z* x * swap y * x t * sin * t y * cos 2dup z* -rot 2 * -rot 3 * -rot
Star Rose
Anonymous
'24 Dec 22
: x x 0.5 - 7 * t + cos ; : y y 0.5 - 5 * t .1 * + sin ; y x 31 * sin x y 19 * cos z* - dup .9 * dup .8 *
Enmeshed in Light
Anonymous
'24 Dec 22
: y y 5 * ; : x x 1.5 * ; x y - x x * y - y y * x - 2dup 10 * sin max max y * rot x + -rot
Orbitalist
Anonymous
'24 Dec 22
x 11 * sin y 3 * cos + y 13 * sin x 5 * cos + * x 7 * sin y 17 * cos + y 2 * sin x 3 * cos + * x 11 * sin y 11 * cos + y 2 * sin x 7 * cos + * : x x y 7 * sin 0.1 * + ; : y y x 11 * sin 0.15 * + ; : x x 0.5 - 3.1 * ; : y y 0.5 - 3.1 * ; x 2 * x y + y 2 * x x * y y * + 50 pow negate 1 + swap drop swap drop swap drop
Untitled
Anonymous
'24 Dec 22
x 1 1
Untitled Redux
Anonymous
'24 Dec 22
x 0.5 - 1 y - 0.5 - mod dup dup push push x y sin + * pop x t tan - * pop y t tan - *
Alien Shockwave
Anonymous
'24 Dec 22
: julia 2dup z* .194 .6557 z+ ; x y julia julia julia julia julia julia julia
julia-haiku
kliemann
'24 Dec 22
: mandel 2dup z* x y z+ ; 0 0 mandel mandel mandel mandel mandel mandel mandel
mandelbrot haiku
kliemann
'24 Dec 22
Next