RosettaCodeData/Task/Fractal-tree/J/fractal-tree.j
2023-07-01 13:44:08 -04:00

25 lines
579 B
Text

require'gl2'
coinsert'jgl2'
L0=: 50 NB. initial length
A0=: 1r8p1 NB. initial angle: pi divided by 8
dL=: 0.9 NB. shrink factor for length
dA=: 0.75 NB. shrink factor for angle
N=: 14 NB. number of branches
L=: L0*dL^1+i.N NB. lengths of line segments
NB. relative angles of successive line segments
A=: A0*(dA^i.N) +/\@:*("1) _1 ^ #:i.2 ^ N
NB. end points for each line segment
P=: 0 0+/\@,"2 +.*.inv (L0,0),"2 L,"0"1 A
wd {{)n
pc P closeok;
setp wh 480 640;
cc C isidraw flush;
pshow;
}}
gllines <.(10 + ,/"2 P-"1<./,/P)