*

\ ( \ moving lines

: 2pi 2 pi * ;
: atan2 atan2 2pi / 1 mod ;
: cos 2pi * cos ; : sin 2pi * sin ;

\ 設定 直角座標 原點 X,Y 橫軸角度 A 寬高縮放比例 WS HS
: orig ( X Y -- ) 1 ! 0 ! ;
: axis ( A -- ) 2 ! ;
: wscale ( WS -- ) 3 ! ; 1 3 !
: hscale ( HS -- ) 4 ! ; 1 4 !

\ 極座標 徑度 r 角度 a
: ts t 60 / sin .5 * 1.5 + 2 * ;
: x x ts * 1 mod ;
: y y ts * 1 mod ;
: x x 0 @ - 3 @ * ;
: y y 1 @ - 4 @ * ;
: r ( -- r ) y 2 ** x 2 ** + .5 ** ;
: a ( -- a ) y x atan2 2 @ - 1 mod ;
: x ( -- x ) r a cos * ;
: y ( -- y ) r a sin * ;

( \ 測試 r a x y
.3 .3 orig .1 axis
x .0 >
y .0 >
r .2 <
a .5 **
\ )
: 線徑 .03 ;
:( -- 線 )
y abs 線徑 2 / < ;
: 向線 ( -- 向線 )
x 0 > and ;
: 線' ( -- h )
y abs 1 swap - 69 ** ;
: 向線' ( -- h )
線' x 0 > * ;

\ ( 測試 橫線 向線 橫線' 向線'
.4 .4 orig
.15 t 10 / + axis 向線
r .4 < *
.40 t 60 / - axis 線 +
.6 .6 orig
.40 t 10 / + axis 向線'
r .4 < *
.15 t 60 / - axis 線' +
0
1 r - .6 ** \ )
\ ) \ moving lines

comments powered by Disqus