$atan2 (Arco Tangente de Dois Argumentos)
Última atualização: 2026-10-09
$atan2 (Arco Tangente de Dois Argumentos)
$atan2 retorna o ângulo de orientação em radianos a partir de uma coordenada y e uma coordenada x, recebendo os argumentos na ordem [y, x]. Ele lida corretamente com os quatro quadrantes e é a operação essencial para converter coordenadas cartesianas em forma polar. É usado em matemática de direção, navegação e rotação em gráficos, como derivar um ângulo de rumo a partir de uma diferença de coordenadas. Um argumento nulo ou ausente resulta em null, e o resultado é indefinido quando y e x são ambos zero. Diferente de $atan, ele preserva a informação do quadrante, retornando valores de -π a π.
| Categoria | Matemática |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $atan2: [ <y>, <x> ] }
⚙️ Parâmetros
| coordenada y | O componente y; o primeiro argumento. |
|---|---|
| coordenada x | O componente x; o segundo argumento. Indefinido quando ambos são zero. |
Retorno:O ângulo de direção em radianos; null quando null ou ausente, indefinido quando y e x são ambos zero
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $atan2: ângulo de orientação a partir das coordenadas x e y
db.points.aggregate([
{ $project: {
bearing: { $atan2: ['$y', '$x'] }
} }
])
Saída:
{ '_id': 1, 'bearing': 0.7853981633974483 }
{ '_id': 2, 'bearing': -1.1071487177940904 }
📌 Notas
- Os argumentos são primeiro y, depois x — não os inverta
- Os resultados variam de -π a π, distinguindo os quatro quadrantes
- O resultado é indefinido quando y e x são ambos zero; filtre esse caso antes