计算点之间距离的逻辑

1_0*_*1_0 1 python

我试图找到一个点[x1,y1]和以[c1,c2]为中心的半径为2的圆上最近点之间的距离?我为此设计了以下等式

sqrt((p[0] - c[0]) ** 2 + (p[1] - c[1]) ** 2)
Run Code Online (Sandbox Code Playgroud)

但答案却回答了一个似乎错误的答案......

我究竟做错了什么?

Die*_*Epp 7

您的公式计算到圆心的距离.减去半径,并取绝对值.

radius = 2
abs(sqrt((p[0] - c[0]) ** 2 + (p[1] - c[1]) ** 2) - radius)
Run Code Online (Sandbox Code Playgroud)

注意:是的,这适用于圆圈内或圆圈内的点.