Для значений меньше 1 Math.acosh () возвращает NaN - PullRequest
1 голос
/ 02 мая 2019

Я решал Кету В кодовых войнах Кета должна найти Если данные стороны могут образовать треугольник, Я решил проблему , но когда я попытался найти угол A, используя закон косинусов
Я считаю, что Для значений меньше 1 Math.acosh () возвращает NaN. как найти угол A?

function isTriangle(a,b,c)
{
  if(a > 0 && b > 0 && c > 0){

    let angelA, cosAInverse;

    //law of cosines CosA = (b^2 + c^2 - a^2) / (2 * b * c);
    angelA = (Math.pow(b,2) + Math.pow(c, 2) - Math.pow(a,2)) / (2 * b * c);

    //Math.acosh(0.852);
    cosAInverse = Math.acosh(angelA); // expected value 28.95502437

    console.log(cosAInverse); // NaN

    return cosAInverse;

  }
  return false;
}
var xx = isTriangle(1,2,2);
console.log(xx);

1 Ответ

1 голос
/ 02 мая 2019

Вы не хотите Math.acosh(), но Math.acos()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...