I am working on a computer game and I need to correctly reflect a ball off a circle object. I am trying to do it as a line and circle intersection. I know the intersect point of the line (ball path) and the circle. Now I want to rotate the ending point of the ball path about the intersection point to get the correct angle of reflection.
The following are known:
ball current x
ball current y
ball end x
ball end y
circle center x
circle center y
intersection point of ball path and circle x and y
I know I need to find the angle of incidence between the tangent line and the incoming ball path which will also equal my angle of reflection. I think once I know those two angles I can subtract them from 180 to get my rotation angle then rotate my end point about the angle of intersection by that amount. I just don't know how.
I have attached a pic. Again, I know the two end points of my line segment, the point of intersection and the radius of the circle.
I am ultimately trying to get the point marked by the open circle, so I need to know the angle between the ball path and the norm, which is the blue line.