forked from: forked from: ball with perlin

