Функция math.Atan2
Функция math.Atan2 вычисляет арктангенс отношения y/x,
возвращая угол в радианах в диапазоне от -π до π
включительно. В отличие от функции math.Atan, которая возвращает
угол только для первого и четвертого квадрантов, math.Atan2
учитывает знаки обоих аргументов, что позволяет правильно определить
квадрант угла. Первым параметром передается координата y,
вторым - координата x.
Синтаксис
math.Atan2(y, x float64) float64
Пример
Давайте вычислим арктангенс отношения 1/1, что соответствует
углу 45 градусов в первом квадранте:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Atan2(1, 1)
fmt.Println(res)
}
Результат выполнения кода:
"0.7853981633974483"
Пример
Вычислим арктангенс отношения -1/1, что соответствует
углу -45 градусов в четвертом квадранте:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Atan2(-1, 1)
fmt.Println(res)
}
Результат выполнения кода:
"-0.7853981633974483"
Пример
Вычислим арктангенс отношения 1/-1, что соответствует
углу 135 градусов во втором квадранте:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Atan2(1, -1)
fmt.Println(res)
}
Результат выполнения кода:
"2.356194490192345"
Пример
Рассмотрим особый случай, когда оба аргумента равны нулю.
В этом случае функция возвращает 0:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Atan2(0, 0)
fmt.Println(res)
}
Результат выполнения кода:
"0"
Смотрите также
-
функцию
math.Atan,
которая вычисляет арктангенс отношения x/y без учета знаков -
функцию
math.Atanh,
которая вычисляет гиперболический арктангенс -
функцию
math.Sin,
которая вычисляет синус угла -
функцию
math.Cos,
которая вычисляет косинус угла