Возможный дубликат:
в чем разница между atan и atan2 в c ++?
Почему −π ‹atan2 (y, x) ≤ π, в то время как для строк нам действительно нужно только от 0 до π, и что имеет api, как atan2, но возвращает от 0 до pi?
Возможный дубликат:
в чем разница между atan и atan2 в c ++?
Почему −π ‹atan2 (y, x) ≤ π, в то время как для строк нам действительно нужно только от 0 до π, и что имеет api, как atan2, но возвращает от 0 до pi?
Одним из распространенных применений atan2
является преобразование декартовых координат в полярные координаты. И то, что он поддерживает все углы, является причиной его существования. В противном случае вы могли бы просто использовать atan(y/x)
.
atan2()
обрабатывает случаи, когда x == 0.0
правильно, а atan(y/x)
нет!
- person Jonathan Leffler; 13.02.2011
atan2
возвращает все возможные углы, потому что он не используется только для рисования линий! Он также используется для реальной математики, где разница важна. atan
, с другой стороны, выдает результат в виде [-pi / 2, + pi / 2].