*

: sqr dup * ;
: dst sqr swap sqr + sqrt ;
: acos dup sqr 1 - negate sqrt swap 1 + atan2 2 * ;

: rad 0.5 ;

: x' x 0.5 - ;
: y' y 0.5 - ;
: len x' y' dst ;

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

: theta y' acos 2 * pi / ;
: phi z x' atan2 pi / t 10 / + ;

: txtr 25 25 z* cos >r cos r> < ;

phi theta txtr
z *
inside? *
dup dup

Possibly based on: Rotating sphere - Postrediori


comments powered by Disqus