我想在使用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