这是我的作业问题:
通过添加一个名为exact dist()的方法展开您的Circle类,该方法获取点的x和y值,并返回坐标空间中的点距圆的外部的距离(如果该点,则返回零)在圆圈内或圆圈内。)
以下代码:
myCircle = Circle(1,1,1)
print myCircle.dist(3,4)
应该输出大约:
的输出2.6055512754639891
但我无法理解这个问题。从圆的外部返回坐标空间中的点是什么意思?你能解释一下吗?
答案 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
>>>