Функция math.Atan2

Функция math.Atan2 вычисляет арктангенс отношения y/x, возвращая угол в радианах в диапазоне от -π до π включительно. В отличие от функции math.Atan, которая возвращает угол только для первого и четвертого квадрантов, math.Atan2 учитывает знаки обоих аргументов, что позволяет правильно определить квадрант угла. Первым параметром передается координата y, вторым - координата x.

Синтаксис

gomath.Atan2(y, x float64) float64

Пример

Давайте вычислим арктангенс отношения 1/1, что соответствует углу 45 градусов в первом квадранте:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Atan2(1, 1)
  fmt.Println(res)
}

Результат выполнения кода:

go"0.7853981633974483"

Пример

Вычислим арктангенс отношения -1/1, что соответствует углу -45 градусов в четвертом квадранте:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Atan2(-1, 1)
  fmt.Println(res)
}

Результат выполнения кода:

go"-0.7853981633974483"

Пример

Вычислим арктангенс отношения 1/-1, что соответствует углу 135 градусов во втором квадранте:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Atan2(1, -1)
  fmt.Println(res)
}

Результат выполнения кода:

go"2.356194490192345"

Пример

Рассмотрим особый случай, когда оба аргумента равны нулю. В этом случае функция возвращает 0:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Atan2(0, 0)
  fmt.Println(res)
}

Результат выполнения кода:

go"0"

Смотрите также

  • функцию math.Atan,
    которая вычисляет арктангенс отношения x/y без учета знаков
  • функцию math.Atanh,
    которая вычисляет гиперболический арктангенс
  • функцию math.Sin,
    которая вычисляет синус угла
  • функцию math.Cos,
    которая вычисляет косинус угла