Forth Haiku Salon
Top Haikus
More...
: 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 * + 36 * 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
www.manwe.ru
'14 Jan 08
: d dup ; : ' .5 - ; : r x ' d * y ' d * + sqrt ; : lx t 7 + 1.9 * sin 2 / ; : ly t 7 + 1.7 * sin 2 / ; : lr lx d * ly d * + .16 + sqrt ; : z r 80 * sin .7 * ; : m lr / * 0 max ; x ' r / z * lx m y ' r / z * ly m r 80 * cos .15 * .85 + .4 r 40 * cos 1 + 6 / + m + + 1 x ' lx - d * y ' ly - d * + sqrt - 0 max * d d * 2 /
Golden bump
Manwe
'14 Jan 13
x 9.4 * sin y 9.4 * sin t 4 * sin * * dup t 2 * sin * dup t 3 * sin *
Disco
Ivanq
'14 Jan 13
: y0 y 1.6 * .45 - ; : d dup ; : c rot d >r ; : l c c c >r swap >r over * over d r> * swap r> * 4 + d * swap d * + over d * + 7 - swap 1 + min + r> r> r> ; 0 x 1.7 * .85 - d d * y0 d * + 4 + sqrt d d >r >r / y0 r> / -2 t 6.2 + 9 / sin 2 / + r> / l l l l l l l l l l l l l l l l drop drop drop 3.7 / d d * over sqrt -rot
Coffee (final)
Manwe
'14 Jan 17
: c push negate swap negate y x z+ dup * swap dup * + pop dup * < ; : l push -rot negate swap negate y x z+ 2dup dup * swap dup * + pop dup * < push atan2 - abs 0.05 < pop * ; : p dup rot dup sin swap cos rot * -rot * rot + -rot + swap ; : a t 3 * sin ; : b a 1.1 * ; : m x 10 * + + sin 1 over dup * - sqrt atan2 swap / y 0.6 - > ; 0.5 0.7 -1.57 0.3 l 0.5 0.4 -1.57 a + 0.15 l + 0.5 0.4 -1.57 a + 0.15 p -2 b + 0.2 l + 0.5 0.4 -1.57 a - 0.15 l + 0.5 0.4 -1.57 a - 0.15 p -2 b - 0.2 l + 0.5 0.6 -1.57 a + 0.1 l + 0.5 0.6 -1.57 a + 0.1 p -0.5 b + 0.1 l + 0.5 0.6 -1.57 a - 0.1 l + 0.5 0.6 -1.57 a - 0.1 p -0.5 b - 0.1 l + 0.5 0.7 0.05 c + dup 0 swap 15 1 t 2 / m 20 3 t m + 25 0 t 4 / m 35 4 t 4 / m + + y 0.2 > * +
Man running with landscape
Alok
'14 Sep 14
: d dup ; : m 0.4 * 0.5 + - ; : a y - abs 0.1 < x ; : r t swap / d floor - 1.96 * 0.98 - d 0 > 2 * 1 - * 0.01 + ; : e 2.9 r 0.94 * 0.03 + ; : f 3.7 r ; : p f 0.9 * 0.05 + d t ; e x - d * f y - d * + sqrt 0.02 < p 3 * sin m e * - a 0.03 < * p 2 * cos m 1 e - * - a 0.97 > * + + d d
PONG game
www.manwe.ru
'14 Jan 05
: web push push x 0.5 + y 0.3 + * pop * sin 0 max x 0.3 + y 0.5 + * pop * sin 0 max + ; 31 23 web 17 17 web * x + 23 31 web 19 19 web * y x * + 31 31 web 7 7 web * y +
streak
BradN
'11 Apr 23
\ use WASD keys : b button ; : d dup ; 2 b dt * 200 / d 1 @ sin * swap 1 @ cos * 4 @ 5 @ z+ 5 ! 4 ! 2 @ 3 @ 4 @ 5 @ z+ 3 ! 2 ! 2 @ x + .5 - 3 @ y + .5 - 5 b dt * 3 * 1 b dt * 3 * - 1 @ + d d 1 ! cos swap sin z* 2dup .05 + atan2 abs .4 < -rot .01 - atan2 abs 1 < - 0 max 6 @ sin dt * 2 * 7 @ + 7 ! 6 @ cos dt * 2 * 8 @ + 8 ! 3 b d d if 1 @ 6 ! then if 2 @ 7 ! then if 3 @ 8 ! then 7 @ .5 x - - d * 8 @ .5 y - - d * + .00003 < + x y ** 56 * sin 237 * d floor - 1000 * 999 - 0 max + d d
Asteroids
Manwe
'15 Nov 14
Recent Haikus
More...
: show t 9 mod floor < * ; : p1 x y + 1 > x y - 0 < * 0 show ; \ p1 \ 未塗綠 : p2 x y + 1 < x y - 0 < * 1 show ; \ p2 \ 未塗黃 : p3 x y - 0 > x y + 1.5 > * 2 show ; \ p3 \ 未塗藍 : p4 x y - 0 > x y + 1.5 < x y - .5 < x y + 1 > * * * 3 show ; \ p4 \ 未塗紅 : p5 y .25 > x y - 0 > x y + 1 < * * 4 show ; \ p5 \ 未塗青 : p6 y .25 < x y - 0 > x y - .5 < * * 5 show ; \ p6 \ 未塗紫 : p7 x y - .5 > 6 show ; \ p7 \ 未塗橘 \ R G B \ 0 p1 0 \ p1 塗綠 \ p2 p2 0 \ p2 塗黃 \ 0 0 p3 \ p3 塗藍 \ p4 0 0 \ p4 塗紅 \ 0 p5 p5 \ p5 塗青 \ p6 0 p6 \ p6 塗紫 \ p7 p7 2 / 0 \ p7 塗橘 : 七巧板 \ 綠 黃 藍 紅 青 紫 橘 p2 p4 p6 p7 + + + \ R p1 p2 p5 p7 2 / + + + \ G p3 p5 p6 + + \ B ; 七巧板
七巧板 Redux
陳爽
'22 Jun 15
: x x 2 * ; : x x .5 - ; \ tangram_20 七巧板 20220612 陳爽 \ 改最後一列 可執行 例1 例2 例3 例4 例5 例6 例7 例8 或 例9 \ 例1 彩板拼成 方形 \ 例2 彩板散開 各自轉動 \ 例3 彩板拼成 貓形 \ 例4 彩板翻轉 拼成 方形 與 貓型 \ 例5 彩板拼成 鵝形 \ 例6 彩板翻轉 拼成 貓型 與 鵝形 \ 例7 彩板拼成 船形 \ 例8 彩板翻轉 拼成 鵝形 與 船型 \ 例9 船行反覆前進後退 \ 指定點 X,Y 至任意點 x,y 之距離 r : r ( X Y -- r ) y swap - 2 ** x rot - 2 ** + sqrt ; \ 兩倍圓周率 : 2pi pi pi + ; \ 以 X,Y 為原點,座標轉軸 A 角度 ( 0 右 .25 上 .5 左 .75 下 ) 然後產生任意點 p" 的位置 x",y" : 座標轉換 ( X Y A -- x" y" ) >r 2dup r .01 > -rot ( 洞 X Y ) x rot - y rot - ( 洞 x' y' ) over 2 ** over 2 ** + sqrt ( 洞 x' y' r ) 1.04 * -rot ( 洞 r' x' y' ) swap atan2 2pi / r> - 1 mod ( 洞 r' a ) 2pi * 2dup cos * -rot ( 洞 x" r' a' ) sin * ( 洞 x" y" ) ; \ 從某值到另值隨時間週期取對應中間值 : 中間值 ( x0 x1 -- x ) over - t 3 / sin 2 / .5 + * + ; \ 從某位置方向到另位置方向隨時間週期取對應中間位置方向 : 中間位置方向 ( X0 Y0 A0 X1 Y1 A1 -- X Y A ) >r rot r> ( X0 Y0 X1 Y1 A0 A1 ) 中間值 >r ( X0 Y0 X1 Y1 ) >r swap r> ( X0 X1 Y0 Y1 ) 中間值 >r ( X0 X1 ) 中間值 r> r> ( X Y A ) ; : 網格 x .1 mod .005 > y .1 mod .005 > * ; \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ : 綠 ( R G B X Y A -- R G' B ) 座標轉換 ( R G B 洞 x" y" ) 2dup + -.125 > -rot ( R G B 洞 x"+y">-.25 x" y" ) dup >r - .125 < ( R G B 洞 x"+y">-.25 x"-y"<.25 ) r> .125 < ( R G B 洞 x"+y"<-.25 x"-y"<.25 y"<.25 ) * * * rot + swap ( R G' B ) ; : 黃 ( R G B X Y A -- R' G' B ) 座標轉換 ( R G B 洞 x" y" ) 2dup - .125 < -rot ( R G B 洞 x"-y"<.25 x" y" ) over >r + .125 < r> ( R G B 洞 x"-y"<.25 x"+y"<.25 x" ) -.125 > ( R G B 洞 x"-y"<.25 x"+y"<.25 x">-.25 ) * * * >r rot r@ + rot r> + rot ( R' G' B ) ; : 藍 ( R G B X Y A -- R G B' ) 座標轉換 ( R G B 洞 x" y" ) 2dup - -.062 > -rot ( R G B 洞 x"-y">-.125 x" y" ) over >r + -.062 > r> ( R G B 洞 x"-y">0 y"<.25 x" ) .062 < ( R G B 洞 x"-y">0 y"<.25 x">-.25 ) * * * + ( R G B' ) ; : 紅 ( R G B X Y A -- R' G B ) 座標轉換 ( R G B 洞 x" y" ) 2dup - -rot + ( R G B 洞 x"-y" x"+y" ) dup -.125 > swap ( R G B 洞 x"-y" x"+y">-.25 x"+y" ) .125 < rot ( R G B 洞 x"+y">-.25 x"+y"<.25 x"-y" ) dup .125 < swap ( R G B 洞 x"+y">-.25 x"+y"<.25 x"-y"<.25 x"-y" ) -.125 > ( R G B 洞 x"+y">-.25 x"+y"<.25 x"-y"<.25 x"-y">-.25 ) * * * * >r rot r> + -rot ( R' G B ) ; : 青 ( R G B X Y A -- R G' B' ) 座標轉換 ( R G B 洞 x" y" ) 2dup + .0625 < -rot ( R G B 洞 x"+y"<.125 x" y" ) dup >r - -.0625 > ( R G B 洞 x"+y">-.25 x"-y">-.125 ) r> -.0625 > ( R G B 洞 x"+y"<-.25 x"-y"<-.125 y">-.125 ) * * * >r swap r@ + swap r> + ( R G' B' ) ; : 紫 ( R G B X Y A -- R' G B' ) 座標轉換 ( R G B 洞 x" y" ) swap over - ( R G B 洞 y" x"-y" ) dup -.125 > swap ( R G B 洞 x"-y">-.25 x"-y" ) .125 < rot ( R G B 洞 x"-y">-.25 x"-y"<.25 y" ) dup .0625 < swap ( R G B 洞 x"-y">-.25 x"-y"<.25 y" y"<.125 y" ) -.0625 > ( R G B 洞 x"-y">-.25 x"-y"<.25 y" y"<.125 y">-.125 ) * * * * >r rot r@ + -rot r> + ( R' G B' ) ; : 桔 ( R G B X Y A -- R' G' B ) 座標轉換 ( R G B 洞 x" y" ) 2dup - 0 > rot ( R G B 洞 x"-y">0 x" y" ) .125 < rot ( R G B 洞 x"-y">0 y"<.25 x" ) -.125 > ( R G B 洞 x"-y">0 y"<.25 x">-.25 ) * * * >r rot r@ + rot r> 2 / + rot ( R' G' B ) ; \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 七彩板組圖範例 : 例1 \ 彩板拼成 方形 0 0 0 \ 開始要先 全黑 .500 .625 .000 綠 .375 .500 .000 黃 .687 .625 .000 藍 .625 .500 .000 紅 .500 .437 .000 青 .437 .312 .000 紫 .625 .375 .000 桔 網格 ; : 例2 \ 彩板散開 各自每 10 秒轉 1 圈 0 0 0 \ 開始要先 全黑 .375 .750 0 1 中間值 綠 .250 .500 0 1 中間值 黃 .812 .750 0 1 中間值 藍 .656 .593 0 1 中間值 紅 .500 .485 0 1 中間值 青 .437 .184 0 1 中間值 紫 .750 .375 0 1 中間值 桔 網格 ; : 例3 \ 彩板拼成 貓形 0 0 0 \ 開始要先 全黑 .561 .145 .125 綠 \ 腿 .521 .400 .000 黃 \ 身 .400 .456 .625 桔 \ 胸 .290 .640 .000 紅 \ 頭 .355 .765 .000 藍 \ 右耳 .230 .765 .750 青 \ 左耳 .822 .118 .000 紫 \ 尾 網格 ; : 例4 \ 彩板 隨時間週期 翻轉移動 拼成 方形 與 貓型 0 0 0 \ 開始要先 全黑 \ 前 3 值 彩板 起始 位置方向 後 3 值 終止 位置方向 .500 .437 .000 .230 .765 .750 中間位置方向 青 \ 左耳 .687 .625 .000 .355 .765 .000 中間位置方向 藍 \ 右耳 .625 .500 .000 .290 .640 .000 中間位置方向 紅 \ 頭 .625 .375 .000 .400 .456 .625 中間位置方向 桔 \ 胸 .375 .500 .000 .521 .400 .000 中間位置方向 黃 \ 身 .500 .625 .000 .561 .145 .125 中間位置方向 綠 \ 腿 .437 .312 .000 .822 .118 .000 中間位置方向 紫 \ 尾 網格 ; : 例5 \ 彩板拼成 鵝形 0 0 0 \ 開始要先 全黑 .511 .185 .875 綠 \ 翅 .660 .330 .750 黃 \ 尾 .423 .275 .625 桔 \ 身 .371 .520 .000 紅 \ 脖 .324 .755 .375 藍 \ 嘴 .310 .399 .750 青 \ 胸 .432 .706 .250 紫 \ 頭 網格 ; : 例6 \ 彩板 隨時間週期 翻轉移動 拼成 貓型 與 鵝形 0 0 0 \ 開始要先 全黑 \ 前 3 值 彩板 起始 位置方向 後 3 值 終止 位置方向 .230 .765 .750 .310 .399 .750 中間位置方向 青 \ 胸 .355 .765 .000 .324 .755 .375 中間位置方向 藍 \ 嘴 .290 .640 .000 .371 .520 .000 中間位置方向 紅 \ 脖 .400 .456 .625 .423 .275 .625 中間位置方向 桔 \ 身 .521 .400 .000 .660 .330 .750 中間位置方向 黃 \ 尾 .561 .145 .125 .511 .185 .875 中間位置方向 綠 \ 翅 .822 .118 .000 .432 .706 .250 中間位置方向 紫 \ 頭 網格 ; : 例7 \ 彩板拼成 船形 0 0 0 \ 開始要先 全黑 .426 .621 .000 黃 \ 上帆 .550 .500 .500 綠 \ 下帆 .801 .373 .875 桔 \ 船頭 .535 .288 .125 紅 \ 中艙 .668 .250 .125 藍 \ 前艙 .404 .329 .875 青 \ 後艙 .266 .289 .375 紫 \ 船尾 網格 ; : 例8 \ 彩板 隨時間週期 翻轉移動 拼成 鵝型 與 船形 0 0 0 \ 開始要先 全黑 \ 前 3 值 彩板 起始 位置方向 後 3 值 終止 位置方向 .310 .399 .750 .404 .329 .875 中間位置方向 青 \ 胸 .324 .755 .375 .668 .250 .125 中間位置方向 藍 \ 嘴 .371 .520 .000 .535 .288 .125 中間位置方向 紅 \ 脖 .423 .275 .625 .801 .373 .875 中間位置方向 桔 \ 身 .660 .330 .750 .426 .621 .000 中間位置方向 黃 \ 尾 .511 .185 .875 .550 .500 .500 中間位置方向 綠 \ 翅 .432 .706 .250 .266 .289 .375 中間位置方向 紫 \ 頭 網格 ; : 例9 \ 船行反覆前進後退 0 0 0 \ 開始要先 全黑 .426 .5 - .426 .5 + 中間值 .621 .000 黃 \ 上帆 .550 .5 - .550 .5 + 中間值 .500 .500 綠 \ 下帆 .801 .5 - .801 .5 + 中間值 .373 .875 桔 \ 船頭 .535 .5 - .535 .5 + 中間值 .288 .125 紅 \ 中艙 .668 .5 - .668 .5 + 中間值 .250 .125 藍 \ 前艙 .404 .5 - .404 .5 + 中間值 .329 .875 青 \ 後艙 .266 .5 - .266 .5 + 中間值 .289 .375 紫 \ 船尾 網格 ; \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 例1 彩板拼成 方形 \ 例2 彩板散開 各自轉動 \ 例3 彩板拼成 貓形 \ 例4 彩板翻轉 拼成 方形 與 貓型 \ 例5 彩板拼成 鵝形 \ 例6 彩板翻轉 拼成 貓型 與 鵝形 \ 例7 彩板拼成 船形 \ 例8 彩板翻轉 拼成 鵝形 與 船型 \ 例9 船行反覆前進後退 \ 改下列 可選擇執行 例1 例2 例3 例4 例5 例6 例7 或 例8 例9
七巧板 Redux20
陳爽
'22 Jun 11
: time t y 10 * floor 4 / + ; : l dup y > swap y 0.09 + < * x 0.5 - 2.6 * time sin - 5 * 2 pow 1.2 swap - dup 0 > * * time pi 2 / + sin 1.2 + 2.5 / * ; 0.1 l 0.2 l + 0.3 l + 0.4 l + 0.5 l + 0.6 l + 0.7 l + 0.8 l + 0.9 l + 1.0 l + dup dup
Twisted Tower
Manwe
'22 May 16
: y0 y 1.6 * .45 - ; : d dup ; : c rot d >r ; : l c c c >r swap >r over * over d r> * swap r> * 4 + d * swap d * + over d * + 7 - swap 1 + min + r> r> r> ; 0 x 1.7 * .85 - d d * y0 d * + 4 + sqrt d d >r >r / y0 r> / -2 t 6.2 + 9 / sin 2 / + r> / l l l l l l l l l l l l l l l l drop drop drop 3.7 / d d * over sqrt -rot
Untitled
Anonymous
'22 Mar 01
: sq dup * ; : norm * sin 1 + 2 / ; : tt t 10 mod ; : xc tt 10 / ; : в 0 drop ; : вечерним x xc 0.25 + 0.75 > 1 * xc - abs 0.25 + ; : вьюнком - sq ; : я y 0.5 - sq ; : плен + ; : захвачен… sqrt t 60 mod sin * ; : недвижно dup tt 10 * norm ; : стою over 70 t 50 mod + norm ; : забытьи. rot 80 norm ;
Untitled
Anonymous
'22 Feb 19
x 50 * ceil tan y max x over / tan y x * rot rot / tan 2dup / tan swap 0.4 * swap .4 * + swap over + 2dup + .3 * rot rot
Stadium View
Greg Schmidt
'22 Feb 12
1 2 3 4 z+
Untitled
Anonymous
'21 Dec 19
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
'21 Dec 19