*

: odd 2 mod ;
: sqr dup * ;
: len sqr swap sqr + sqrt ;
: acos dup sqr 1 - negate sqrt swap 1 + atan2 2 * ;

: rad 0.5 ;
: tiles 10 ;
: tile tiles * floor odd ;

: dx x 0.5 - ;
: dy y 0.5 - ;
: dlen dx dy len ;

: inside? dlen rad < ;
: z rad sqr dlen sqr - sqrt ;

: theta dy acos 2 * pi / ;
: phi z dx atan2 pi / ;

: ofs t 10 / ;

: txtr tile swap ofs + tile + odd 0.25 max ;

phi theta txtr
z *
inside? *
dup dup

comments powered by Disqus