I need to calculate the new velocity vector when the ball collides with one of the paddle's corners.
Let d be the velocity vector of the ball, r the target velocity vector and n the surface normal used for reflecting the velocity vector.
I found that the formula to calculate the reflection vector is: r=d−2(d⋅n)n
My first thought was to create a vector using the coordinates of the paddle's corner and the ball's center, normalize it and use it as my surface normal n.
That way I have both d and n that I need to calculate the reflection vector.
But, after some more research I've come across the following article: Pool Hall Lessons: Fast, Accurate Collision Detection Between Circles or Spheres
which may be better since ball - ball collision is the same as the ball - point collision that I need.
The collisions are all elastic and forces like gravity and friction don't exist.
Is my approach wrong? If I end up doing this in any of the aforementioned ways, what are the advantages and disadvantages of each one of them?
EDIT: I forgot to mention that the post i linked doesn't contain any collision resolutions, but only collision detections, but it is what made me to think that searching for ball - ball collision resolutions is a better approach.