当前位置:趣知科普网>游戏数码>电脑>

实用高效的计算三角形面积的算法

电脑 阅读(8.02K)

三角形的面积计算公式不止一种,下面就介绍几种实用高效的计算三角形面积的算法。

操作方法

(01)一、最常见的计算公式。根据长方形的面积=长×宽推断出平行四边形的面积=底×高,因为两个一样的三角形可组成一个平行四边形,所以可得面积计算公式:S=a*h/2(a为底,h为高)这种方法虽然常见,但也是使用最为广泛的一种方法。

实用高效的计算三角形面积的算法

(02)二、海伦公式。已知三角形三边a,b,c,则p=(a+b+c)/2.S=√[p(p-a)(p-b)(p-c)]=(1/4)√[(a+b+c)(a+b-c)(a+c-b)(b+c-a)]这也是一条很常见的公式,但这条公式存在根号,降低了算法的效率。

实用高效的计算三角形面积的算法 第2张

(03)三、简单的三角函数算法。S△=1/2*acsinB=1/2*bcsinA=1/2*absinC(三个角为∠A∠B∠C,对边分别为a,b,c,参见三角函数)

实用高效的计算三角形面积的算法 第3张

(04)四、S△=1/2*|c d 1||e f 1|[| a b 1 | ….| c d 1 | …。| e f 1 |为三阶行列式,此三角形ABC在平面直角坐标系内A(a,b),B(c,d),C(e,f),这里ABC选区取最好按逆时针顺序从右上角开始取,因为这样取得出的结果一般都为正值,如果不按这个规则取,可能会得到负值,但只要取绝对值就可以了,不会影响三角形面积的大小。]

实用高效的计算三角形面积的算法 第4张

(05)五、根据向量的叉积求面积。大家都知道,向量a和向量b的叉积的绝对值表示以向量a和向量b为两边形成的平行四边形的面积。S=∣a*b∣其中S表示以向量a和向量b为两边形成的平行四边形的面积,以此类推,那么(1/2)*S就可以表示以向量a和向量b为两边形成的三角形的面积。假设三角形的3的顶点分别为P1(x1,y1),P2(x2,y2),P3(x3,y3),则向量a可表示为(x2-x1,y2-y1),向量b可表示为(x3-x1,y3-y1).根据二维向量叉积的运算 ∣a×b|=(x2-x1)(y3-y1) - (y2-y1)(x3-x1)则此三角形面积S =|((x2 - x1)*(y3 - y1)-(y2 - y1)*(x3 - x1) )/2|

实用高效的计算三角形面积的算法 第5张