forked from: ball with perlin

