我通過使用atan2(-6/35)
來計算角度(-6/35)
。 結果是-9.7275785514016047
。如何從atan2角度回到座標
我們回去我使用的公式從Wikipedia
distance = sqrt(6*6+35*35);
angleRelativeToPatternOrigin = -9.7275785514016047;
double x1 = distance * cos(angleRelativeToPatternOrigin);
double y1 = distance * sin(angleRelativeToPatternOrigin);
我exptected得到coordinares (-6/35)
但我得到了(-33.895012797701419/10.589056022311761
)
所以我覺得這是不對的因爲atan2
定義在象限和sin
和cos
僅限於。
這是正確的嗎? 如何做到這一點?
編輯:
現在,首先我描述一個壞的方式我的問題很抱歉。 我居然做了以下
int main(int argc, char* argv[])
{
int x = -6;
int y = 35;
double radian = atan2(x,y); // this was wrong. atan2(y,x) is correct.
double degree = radian * (360/(2 * 3.14159265358979323846));
double distance = sqrt(6*6+35*35);
double x1 = distance * cos(degree); // Wrong because I used degree
double y1 = distance * sin(degree); // instead of radian
return 0;
}
_「我通過使用'ATAN2(計算的(-6/35)的角度-6/35)''_不,你沒有。該函數有兩個參數,而不是一個。 –
@Lightness軌道上的競賽 我用-6作爲參數1和35作爲參數2 –
這不是你的問題所說的。 –