當前位置:妙知谷 >

遊戲數碼 >電腦 >

實用高效的計算三角形面積的算法

實用高效的計算三角形面積的算法

三角形的面積計算公式不止一種,下面就介紹幾種實用高效的計算三角形面積的算法。

操作方法

(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張
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/diannao/de8rzm.html