Я вычислил угол (-6/35)
с помощью atan2(-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
определены только на .
Это правильно? Как это сделать правильно?
Edit:
Теперь, в первую очередь, я извиняюсь для описания моего вопроса в плохом смысле. я на самом деле сделал следующее
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;
}
_ "Я вычислил угол (-6/35) с помощью' atan2 (-6/35) '' _ Нет, нет. Функция принимает два аргумента, а не один. –
@ Планы горения на орбите Я использовал -6 как param one и 35 как param two –
Это не то, о чем говорит ваш вопрос. –