Ich versuche, einen zufälligen Punkt auf dem Umfang eines Kreises mit Python zu generieren.Testen Sie, ob ein zufälliger Punkt zu einem Umfang eines Kreises mit Python
Ich habe einen Kreis der Mitte (0, 0) und von Radius 50. Ich habe Folgendes getan.
import numpy as np
angle = 2 * np.pi * np.random.rand()
x = np.cos(angle) * 50
y = np.sin(angle) * 50
Aber wenn ich testen, ob der Punkt tatsächlich auf dem Kreisumfang ist, ich habe diese
x ** 2 + y ** 2 == 50 ** 2
aber ich bekomme
False
Warum ist das?
Mögliche Duplikat [Gleitkomma-Ungenauigkeit Beispiele] (https://stackoverflow.com/questions/2100490/floating-point-inaccuracy-examples) – kay
Wenn Sie will lernen, wie man das benötigte epsilon dann google "numerische Stabilität Fließkomma-Mathematik" schätzt. Leider ist sein Wikipedia-Artikel schrecklich. – kay