2014-04-02 51 views
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/2theta值。這是發生數學域錯誤的地方;由於某種原因a**2 - r0**2 * math.sin(theta - phi)**2評估爲負數,據我所知,應該永遠不會發生(特別是對於這個圈子)。我究竟做錯了什麼?我誤解了這個等式還是我做了一個簡單的愚蠢錯誤?

回答

0

沒關係。
它只是意味着你的垂直線(theta = math.pi/2)不與你的圓相交。

相關問題