标签: c++ algorithm coordinates geometry
我在圆外有一个X / Y坐标。 计算圆内最近点的最快方法是什么?
答案 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