*

( move center of coordinates to [0,0] )
: x x .5 - 2 * ;
: y y .5 - 2 * ;

( radius and angle )
: r ( x y - r ) over over negate z* + sqrt ;
: a ( x y - a ) swap atan2 0.5 + ;

( make grid lines )
: s 50.5 * cos 15 pow ;

( rotate point )
: rotate ( x y a - x' y' )
dup sin swap cos negate z* ;

( convert polar to cartesian )
: ra2xy ( r a - x y )
over over cos * rot rot sin * ;

1 x y r - 2 pow

( deform space )
: xy x y over over r 1 - negate 5 * t cos * rotate ;
: x xy drop ;
: y xy swap drop ;

( WOW! )
x s y s max swap

Based on: Space Deform - DarkstarAG


comments powered by Disqus