0
我對極座標極其陌生,最近剛剛計算出極座標中的圓的方程(方程用python寫成):嘗試使用極座標在python中繪製圓方程時出現數學域錯誤
r**2 + r0**2 - 2*r*r0*math.cos(theta - phi) = a**2
凡極座標(r0, phi)
是圓心,a
是圓的半徑和(r, theta)
是圓上任何普通點。因此,這可以被簡化爲求解r
爲:
r = r0*math.cos(theta - phi) + math.sqrt(a**2 - r0**2 * math.sin(theta - phi)**2)
所以測試了這一點,我有以下數據的設置。
r0 = math.sqrt(13) # (r0, phi) describes the center point ((3, 2) in Cartesian coords
phi = math.acos(3/r0)
a = 2 # radius is 2
所以要解決的r
,我通過在math.pi/2
爲theta
值。這是發生數學域錯誤的地方;由於某種原因a**2 - r0**2 * math.sin(theta - phi)**2
評估爲負數,據我所知,應該永遠不會發生(特別是對於這個圈子)。我究竟做錯了什麼?我誤解了這個等式還是我做了一個簡單的愚蠢錯誤?