我想在使用Python的圆的圆周上生成一个随机点。使用Python测试一个随机点是否属于一个圆的圆周
我有一个中心(0,0)和半径为50的圆。我做了以下操作。
import numpy as np
angle = 2 * np.pi * np.random.rand()
x = np.cos(angle) * 50
y = np.sin(angle) * 50
但是当我测试一下,看看如果该点实际上是对圈围,我这样做
x ** 2 + y ** 2 == 50 ** 2
,但我得到
False
这是为什么?
的[浮点不精确的例子]可能的复制(https://stackoverflow.com/questions/2100490/floating-point-inaccuracy-examples) – kay
如果您想学习如何估算所需的epsilon,然后谷歌“数值稳定浮点数学”。唉,它的维基百科文章是可怕的。 – kay