2010-06-05 187 views
1
double testx, testy, testdeg, testrad, endx, endy; 

testx = 1; 
testy = 1; 
testdeg = atan2(testx, testy)/Math::PI* 180; 
testrad = sqrt(pow(testx,2) + pow(testy,2)); 
endx = testrad * cos(testdeg); 
endy = testrad * sin(testdeg); 

的這一切似乎零件正確畫上等號, 除了endx和恩迪應該= testx和暴躁 手工計算當他們這樣做。極座標和笛卡爾座標計算不完全正常?

+0

你可以添加你看到的值。 – ChrisF 2010-06-05 22:06:17

+0

你的參數是否爲atan2? – mbeckish 2010-06-05 22:07:09

+0

@mbeckish - 好點,但在這種情況下無關緊要,因爲兩個值都是1 – ChrisF 2010-06-05 22:07:56

回答

8

我可以在這裏看到兩個可能的問題:

  • atan2在我所知道的每一個語言都是需要花費爲了(Y,X)的參數。你通過(x,y)。
  • cossin以弧度表示參數,但是您以度爲單位給出它們。除去乘以180/pi以保持弧度的角度。
+0

啊,哇,我輸入degs進入cos/sin而不是RADS。謝謝 – Smoka 2010-06-05 22:21:43