计算给定向量的点与圆的边缘之间的点碰撞

Calculate Point collision between a point of a given vector and the edge of a Circle

假设我在一个圆内有一个点(不一定是原点)在给定的向量上移动,我将如何计算它到达圆的边缘的点的 x 和 y 坐标。

将所有坐标移动 -cx, -cy。现在圆以原点为中心并且有等式

x^2+y^2=R^2

点坐标(px,py),单位方向向量为(dx,dy)。射线方程:

x = px + t * dx
y = py + t * dy

将这些变量代入圆方程,解方程,求参数t>0,求交点(x,y),将其平移(cx,cy)。