查找圆内最近的坐标

时间:2019-03-09 05:11:09

标签: c++ algorithm coordinates geometry

我在圆外有一个X / Y坐标。 计算圆内最近点的最快方法是什么?

https://i.stack.imgur.com/WWySm.png

1 个答案:

答案 0 :(得分:2)

只需找到从圆心到点的矢量,对其进行归一化,然后将其乘以圆半径,再将其加回到圆心即可。

xv = x-xc
yv = y-yc
len = sqrt(xv*xv + yv*yv)
multiplier = radius / len
xr = xc + multiplier*xv
yr = yc + multiplier*yv