0%

海伦公式

海伦公式

S=p(pa)(pb)(pc)

假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下海伦公式求得,其中p为半周长(周长的一半)p=a+b+c2

  1. x=ay
  2. ha2=c2x2
  3. ha2=b2x2

  1. x=a2+c2b22a

  2. y=a2c2+b22a

  3. ha=4a2b2(a2c2+b2)2a

  1. SABC=12aha
  2. ha=4a2b2(a2c2+b2)2a

SABC=p(pa)(pb)(pc)

代码

1
2
3
4
5
6
7
8
9
// 海伦公式
// p0 p1 p2 为三角形的三个顶点坐标
function area(p0, p1, p2) {
let a = Math.sqrt((p0[0] - p1[0])*((p0[0] - p1[0])) + (p0[1] - p1[1])*((p0[1] - p1[1])));
let b = Math.sqrt((p0[0] - p2[0])*((p0[0] - p2[0])) + (p0[1] - p2[1])*((p0[1] - p2[1])));
let c = Math.sqrt((p1[0] - p2[0])*((p1[0] - p2[0])) + (p1[1] - p2[1])*((p1[1] - p2[1])));
let p = (a + b + c) / 2;
return Math.sqrt(p*(p-a)*(p-b)*(p-c));
}
1
2
3
4
5
// 海伦公式
// a b c p 即为海伦公式中的 a b c p
function area(a, b, c, p) {
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
Powered By Valine
v1.5.2