我通过使用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 –
这不是你的问题所说的。 –