http://www.johanvanmol.org/content/category/6/23/37/
ball collision based on whether the vectors cross. Havent played with it but looked pretty solid