Olá, estou fazendo uma estimativa de ângulo em torno do eixo X (roll) aplicando a fórmula com os eixos do acelerômetro, da seguinte maneira:

double roll = atan(accY/sqrt((accX * accX) + (accZ * accZ))) * RAD_TO_DEG;

Porém os resultados obtidos com os ângulos são iguais aos da imagem:

Como observado na imagem os valores nunca excedem 90°/-90°, está certo a estimativa de ângulo obtida dessa forma? Se estiver, porque ocorre isso de não ultrapassar 90°/-90°?

Obrigado pela atenção!

Abraços!

Exibições: 106

Responder esta

Respostas a este tópico

Para quem estiver com a mesma dúvida, encontrei a resposta nesse site: http://blog.patrikstas.com/2015/11/05/what-is-difference-between-at...

Isso ocorre porque estou usando a função trigonométrica atan e não a atan2. O atan retorna somente o ângulo estimado sem analisar seu quadrante, o que não possibilita passar de 90°. Com a função atan2 é possível obter ângulo maiores que 90° já que ele analisa o quadrante do ângulo.

RSS

© 2021   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço