Pergunta

Em C a função atan2 tem a seguinte assinatura:

double atan2( double y, double x );

Outros idiomas fazer isso também. Esta é a única função que eu conheço que leva os seus argumentos em Y, a fim X em vez de X, Y fim, e parafusos me regularmente, porque quando penso coordenadas, eu acho que (X, Y).

Alguém sabe por convenção fim argumento de atan2 é assim?

Foi útil?

Solução

Porque eu acredito que ela está relacionada com arctan (/ x y), aparece de modo Y no topo.

Aqui está um link bom falar um pouco sobre isso: ângulos e direções

Outras dicas

A minha suposição tem sido sempre que isso é por causa da definição trig, ou seja, que

tan(theta) = opposite / adjacent

Quando se trabalha com o ângulo canónico a partir da origem, em frente é sempre e Y adjacentes é sempre X, assim:

atan2(opposite, adjacent) = theta

Ou seja, foi feito dessa forma por isso não há confusão de pedidos em relação à definição matemática.

Suponha um triângulo rectângulo com o seu lado oposto chamado y, laterais adjacentes chamados x:

tan (ângulo) = y / x

arctan (tan (ângulo)) = arctan (y / x)

É porque na escola, o mnemônico para o cálculo do gradiente
é aumentar ao longo prazo , ou em outras palavras dy / dx, ou mais brevemente y / x.

E esta ordem tem escapado em argumentos de funções arco tangente.

Portanto, é um artefato histórico. Para mim, isso depende do que eu estou pensando
sobre quando eu uso atan2. Se eu estou pensando sobre diferenciais, eu entendi direito
e se eu estou pensando em pares de coordenadas, eu entendi errado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top