Да, вы действительно хотите atan, а иногда и atan2. Разница между ними заключается в том, что atan потерпит неудачу при некоторых обстоятельствах, когда одна из сторон имеет нулевую длину. Хотя это может быть маловероятным для треугольников, это возможность для некоторых других, более общих применений атана. Кроме того, функция atan дает вам угол, ограниченный интервалом [-pi / 2, pi / 2]. Поэтому, если вы думаете о функции atan как функции двух входов (x, y), atan (y / x) даст тот же результат, что и atan ((- y) / (- x)). В некоторых случаях это серьезный недостаток.
Чтобы решить эти проблемы, atan2 определяется так, что он дает правильный результат для всех значений x и y в любом квадранте. Можно использовать как
atan2(oppositesidelength,adjacentsidelength)
для получения последовательного результата.
Конечно, для использования в невырожденном треугольнике простой вызов atan (противоположный / соседний) должен быть полностью адекватен вашим целям.