Метод atan2
Метод atan2 вычисляет арктангенс отношения y / x,
но, в отличие от метода atan, он принимает два отдельных
аргумента: координату y и координату x.
Это позволяет корректно определить угол в диапазоне
от -π до π с учётом знаков обоих чисел,
то есть однозначно определить квадрант, в котором находится точка.
Первым параметром метод принимает координату y,
а вторым - координату x. Метод вызывается у первого
числа, а второе передаётся аргументом. Результат возвращается
в радианах.
Синтаксис
f64.atan2(x)
Пример
Давайте вычислим угол для точки с координатами
y = 1.0 и x = 1.0:
fn main()
{
let y = 1.0_f64;
let x = 1.0_f64;
let res = y.atan2(x);
println!("{}", res);
}
Результат выполнения кода:
0.7853981633974483
Полученное значение соответствует углу π / 4 радиан,
то есть 45 градусам.
Пример
Давайте вычислим угол для точки с координатами
y = -1.0 и x = -1.0, которая находится
в третьем квадранте:
fn main()
{
let y = -1.0_f64;
let x = -1.0_f64;
let res = y.atan2(x);
println!("{}", res);
}
Результат выполнения кода:
-2.356194490192345
Значение отрицательное, так как точка лежит в третьем квадранте,
и соответствует углу -3π / 4 радиан.
Пример
Давайте переведём полученный угол из радиан в градусы
с помощью метода to_degrees:
fn main()
{
let y = 1.0_f64;
let x = 0.0_f64;
let res = y.atan2(x).to_degrees();
println!("{}", res);
}
Результат выполнения кода:
90
Смотрите также
-
метод
atan,
который возвращает арктангенс числа -
метод
sin,
который возвращает синус числа -
метод
cos,
который возвращает косинус числа -
метод
to_degrees,
который переводит радианы в градусы