คำนวณพื้นที่สามเหลี่ยมจากความยาว 3 ด้าน (a, b, c) โดยใช้ สูตรเฮอรอน (Heron's Formula)
ขั้นตอน
- หา s = กึ่งเส้นรอบรูป = (a + b + c) / 2
- พื้นที่ = √[s(s-a)(s-b)(s-c)]
ตัวอย่างโค้ด
const sides = [12, 4, 9];
const areaOfTriangle = sides => {
const [a, b, c] = sides;
const s = (a + b + c) / 2;
const area = Math.sqrt(s * (s - a) * (s - b) * (s - c));
return area;
};
console.log(areaOfTriangle(sides));
ผลลัพธ์
13.635890143294644
เงื่อนไขความเป็นไปได้
สามเหลี่ยมต้องเป็นไปตาม Triangle Inequality Theorem:
const isValidTriangle = ([a, b, c]) =>
a + b > c && a + c > b && b + c > a;
if (!isValidTriangle(sides)) throw new Error('Invalid triangle sides');
ถ้าไม่ผ่านเงื่อนไข ค่าภายใน sqrt จะเป็นลบ ได้ NaN