vector rewrite
    use double array

bounce
Vnew = b * ( -2*(V dot N)*N + V )
 b = bounce factor
 N = plane normal
 V = vector
 
 circle radius collision detection
