Вычислять есть ли такой треугольник и какой он

Есть код. Никак не лезет в голову как сделать так, чтобы функция проверяла есть ли такой треугольник вообще ( можно ли построить ), и каким он является ( равнобедренный, равносторонний, и так далее) Код не работает, не пойму где ошибка.

<html>
<head>
<title>Треугольник</title>
        <meta charset="UTF-8">


    <script>
function calc(){
 
  val1 = document.getElementById("value1").value;
  val2 = document.getElementById("value2").value;
  val3 = document.getElementById("value3").value;

  if (val1 != "" && val2 != ""  && val3 != "" )
  {
  document.getElementById("answer").innerHTML="Считаем";
}
  
</script>

<div id="rslokadv" style="position:absolute; margin-top:75px; width: 360px;display:none;">
</div>
<center>
<form id="calc" name="form" style="min-width:400px">
<table class="my_table>">
<tr><td colspan=2 align=center>
<h2>Определить существование треугольника</h2>
</td></tr>
<tr><td>Сторона треугольника <b>A</b></td><td>
      <input id="value1" type="text" name="value1">
</td></tr><tr><td>
Сторона треугольника <b>B</b></td><td>
      <input id="value2" type="text" name="value2">
</td></tr>
<tr><td>
Сторона треугольника <b>C</b></td><td>
      <input id="value3" type="text" name="value3">
</td></tr>
<tr><td colspan=2 align=center>
<input type="button" onclick="calc()" value="Вычислить">
</td></tr>
<tr><td colspan=2 align=center>
                   <br><br><center>



</center><br><br></td></tr>
<tr><td colspan=2 align=center>
    <div id="answer"></div>
</td></tr></table>
</form>
</center>



</body>
</html>


Ответы (1 шт):

Автор решения: Zhihar
  1. существует ли треугольник

У треугольника сумма любых двух сторон должна быть больше третьей

  1. треугольник равносторонний

сравнить все стороны

сторону (вернее лучше квадрат стороны, чтобы не терять в точности и быстрее делать вычисления) вычислить по формуле

const l2 = (x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1)
  1. треугольник равнобедренный

сравнить попарно стороны

if ((l2_1 == l2_2) || (l2_1 == l2_3)) || (l2_2 == l2_3))
  1. треугольник прямоугольный

использовать теорему косинусов и вычислить угол или использовать теорему Пифагора (что будет поточнее и побыстрее)

if ((l2_1 == l2_2 + l2_3) || (l2_2 == l2_1 + l2_3) || (l2_3 == l2_1 + l2_2))

Или вопрос в другом был?

→ Ссылка