我遇到了一些基本的觸發有點麻煩。我正在做一些數學作業,終於感到厭倦了將直角座標轉換爲極座標,反之亦然,所以我決定掀起一個小小的Python程序來幫助我進行轉換。但是,Math.atan()給我帶來一些麻煩。下面的代碼:基本觸發:math.atan()問題
def rect_to_polar_input(x, y):
hypotenuse = math.sqrt((x * x) + (y * y))
tangent = float(y/x);
angle = round(math.degrees(math.atan(tangent)));
if x <= 0:
if(y >=0):
angle += 90
if(y <= 0):
angle+= 180
if x >= 0:
if(y<0):
angle+=270
return hypotenuse, angle
在你想知道爲什麼我在那裏有那些笨重if
報表的情況下,這是添加標號正確的角度爲象限直角座標是在第二象限是象限90度遠1,和象限3是象限1等
180度現在,如果我進入像(5, 5)
值,一切正常。但是,如果我輸入(-5, 5)
,則得到的值爲7.07, 45
,我應該得到7.07, 135
。如果我輸入(-5, -5)
,則得到的值爲7.07, 225
,這是預期值。最後,如果我輸入的值爲(5, -5)
,我仍然會得到7.07, 225
的值。我試過了我能想到的所有東西,但它不起作用。那麼,我錯過了什麼?
是的,這樣做,謝謝!爲等待道歉。 – 2012-03-08 21:58:31