detecting vertex collisions
slding for edge collisions and computing tangent for vertex collisions