У меня координата X / Y вне круга. Какой самый быстрый способ вычислить ближайшую точку в круге?

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

0
Hops 9 Мар 2019 в 08:11

1 ответ

Лучший ответ

Просто найдите вектор от центра круга до точки, нормализуйте его, умножьте на радиус круга и добавьте обратно к центру круга.

xv = x-xc
yv = y-yc
len = sqrt(xv*xv + yv*yv)
multiplier = radius / len
xr = xc + multiplier*xv
yr = yc + multiplier*yv
2
Sneftel 9 Мар 2019 в 05:53