Arduino и math.h

Тема в разделе "Arduino & Shields", создана пользователем maxxx, 2 авг 2018.

Метки:
  1. maxxx

    maxxx Нуб

    Народ, помогите разобраться,
    Скачал на всякий с GitHub библиотеку math.h (https://gist.github.com/vertrigo/4033545)
    Мне нужно вычислить угол между векторами через arccos (acos), но заметил что эта функция считает некорректно (или я чего-то не догоняю)). Решил проверить:
    acos(0) выводит 1.57, acos(90) - nan
    Что не так?
    Мне нужно чтобы при вызове функции arccos он вычислял угол в градусах, желательно.
    Помогите плз.
     
  2. DIYMan

    DIYMan Guest

    Чем тебя стандартный math.h не устроил? Просто
    Код (C++):
    #include <math.h>
    и всё. Там есть следующее: https://www.arduino.cc/en/Math/H
     
  3. maxxx

    maxxx Нуб

    Так я изначально стандартный и использовал но результат был идентичный
     
  4. DIYMan

    DIYMan Guest

    Значит, смирись :) Возможно, потеря точности. Хотя больше похоже на ошибку, да.

    Вот тебе ещё про арккосинус: https://forum.arduino.cc/index.php?topic=489657.0
     
  5. ostrov

    ostrov Гуру

    Не в радианах?
     
    Mitrandir нравится это.
  6. DetSimen

    DetSimen Guest

    Нельзя таким тупым быть.
    Value whose arc cosine is computed, in the interval [-1,+1].
    If the argument is out of this interval, a domain error occurs.
    какой acos(90)?
     
    DIYMan и Mitrandir нравится это.
  7. maxxx

    maxxx Нуб

    Всё разобрался, не знал что acos выводит в радианах, спасибо
     
  8. maxxx

    maxxx Нуб

    Согласен тупая ошибка
     
  9. SergeiL

    SergeiL Оракул Модератор

     
  10. DetSimen

    DetSimen Guest

    ну не 90 же. даже в войну
     
  11. ostrov

    ostrov Гуру

    В ядерную может.
     
  12. DIYMan

    DIYMan Guest

    О, дед, твоя правда, спс. А то я, как обычно - наискось поглядел, грешен :)
     
    DetSimen нравится это.