通過3點求三角形的有向面積,同時求點是否在三角形內

2021-07-28 11:02:11 字數 1263 閱讀 4413

已知直角座標系3點p(a,b),m(c,d),n(e,f) 求三角形pmn面積

解:無論三角形的頂點位置如何,△pmn總可以用乙個直角梯形(或矩形)和兩個直角三角形面積的和差來表示

而在直角座標系中,已知直角梯形和直角三角形的頂點的座標,其面積是比較好求的。

下面以一種情形來說明這個方法,其它情形方法一樣,表示式也一樣(表示式最好加上絕對值,確保是正值)

如圖情形(p在上方,m在左下,n在右下),過p作x軸的平行線l,作ma⊥l,nb⊥l(設p在a、b之間)

則a、b的座標是a(c,b),b(e,b)

所以pa=a-c,pb=e-a,am=b-d,bn=b-f,ab=e-c

所以s△pmn=s梯形amnb-s△pam-s△pbn

=(b-d+b-f)(e-c)/2-(b-d)(a-c)/2-(b-f)(e-a)/2

=(ad+be+cf-af-bc-de)/2

(這就是中用「行列式」表示三角形面積公式的展開式,用初中方法也可以得出這個結論。上面的解法在三個頂點位置變化時,嚴格講要分別討論解答,但在知道座標的具體值的情形下,這種解答思路不論是何種情形,都是可以直接應用的)

果園裡的樹

果園裡的樹排列成矩陣。他們的x和y的座標均是1~99的整數。輸入若干個三角形,依次統計每個三角形內部和邊界上共有多少棵樹。

輸入:1.5 1.5 1.5 6.8 6.8 1.5

10.7 6.9 8.5 1.5 14.5 1.5

輸出:15 

17此題用三角形有向面積來解,求有向面積2倍的函式為:

double area(double x0,double y0,double x1,double y1,double x2,double,y2)

若求其面積,即沒有方向的:則為fabs(s)/2;

可以用行列式來記住這個式子:

|x0 y0 1|

2s=|x1 y1 1|=x0*y1+x2*y0+x1*y2-x2*y1-x0*y2-x1*y0;

|x2 y2 1|

若三角形三個點按逆時針排列,則有向面積為正,否則為負。

對乙個三角形abc和平面上任意一點o:都有sabc=soab+sobc+soca;

判斷點p是否在三角形內部或者是邊界上的方法是:o點分出的三個三角形按oab,obc,oca的順序得到的結果與原來的大三角形sabc的同號或為0。

JSP求三角形面積

2 實驗1 60分鐘 2.1 實驗目的 計算三角形的面積 2.2 實驗任務 1 定義乙個可以輸入三角形三條邊的 html頁面 2 定義乙個可以計算三角形面積的 jsp頁面 3 顯示三角形的面積 2.3 實驗要求 1 三角形的邊必須為數字,如果三條邊沒有賦初值,則三條邊賦初值為零 2 判斷三角形的三條...

三角形有向面積 判斷點是否在三角形內部

公式 以三角形兩邊的平行四邊形面積等於兩邊向量叉乘 三角形三個頂點如果順時針那麼面積為負,逆時針為正 判斷點o是否在三角形abc內部當且僅當 sabc soab sobc soac include include include include includeusing namespace std ...

三角形面積

算是自己第一道正式寫的演算法幾何吧,先從簡單的開始吧,加油!描述 給你三個點,表示乙個三角形的三個頂點,現你的任務是求出該三角形的面積 輸入 每行是一組測試資料,有6個整數x1,y1,x2,y2,x3,y3分別表示三個點的橫縱座標。座標值都在0到10000之間 輸入0 0 0 0 0 0表示輸入結束...