圆距离问题

时间:2011-04-28 00:12:49

标签: python math

这是我的作业问题:

  

通过添加一个名为exact dist()的方法展开您的Circle类,该方法获取点的x和y值,并返回坐标空间中的点距圆的外部的距离(如果该点,则返回零)在圆圈内或圆圈内。)

以下代码:

myCircle = Circle(1,1,1)
print myCircle.dist(3,4)

应该输出大约:

的输出
2.6055512754639891

但我无法理解这个问题。从圆的外部返回坐标空间中的点是什么意思?你能解释一下吗?

4 个答案:

答案 0 :(得分:4)

找到圆心和给定点之间的距离。从距离中减去半径。负值在圆圈内。

答案 1 :(得分:2)

您可以轻松检查点是否在圆圈内。一旦你完成了,并确定它在外面,你需要找到一条线normal到圆圈并通过该点。从圆周开始的线条长度为您提供答案。

提示:任何穿过圆心的线都是正常的。

所以你有点(x,y),半径r和中心(x0,y0)。我认为你有足够的信息来解决问题:)

答案 2 :(得分:0)

这可能意味着到圆上最近点的距离,所以它是一个最小 - 最大问题,你最小化点到距离的距离

答案 3 :(得分:0)

>>> from math import hypot
>>> hypot(3-1,4-1)    # How far is the point from the centre of the circle?
3.6055512754639891
>>> hypot(3-1,4-1)-1  # Now subtract the radius
2.6055512754639891
>>>