判断点P是否在三角形ABC内
已知:三角形ABC,點P
問題:點P是否在三角形內
1.面積法
????如果三角形PAB、PAC和PBC的面積之和與三角形ABC的面積相等,則可判定點P在三角形ABC內(包括在三條邊上)。
已知三角形頂點A、B、C)的坐標分別為(Ax, Ay)、(Bx, By)、(Cx, Cy),即可計算其面積:
?????S = |(Ax * By + Bx * Cy + Cx * Zy - Ay * Bx - By * Cx - Cy * Ax) / 2|
2.線段法
????如果線段PA與線段BC、或者線段PB與線段AC、或者線段PC與線段AB有交點,則可判定點P在三角形之外。
????如果點P到AB的距離比C到AB的距離短,并且點P到AC的距離比B到AC的距離短,并且點P到BC的距離比A到BC的距離短,則可以判定點P在三角形內。
3.向量法
????設三邊方程BC:fa(x,y)=0,AC:fb(x,y)=0,AB:fc(x,y)=0
以BC為例,在三角形內的點必須與點A在BC的同側,對于點P(x,y)在三角形內首先要滿足fa(x,y)*fa(Ax, Ay)>0,其他邊也同理,所以只要比較fa(x,y)*fa(Ax, Ay)、fb(x,y)*fb(Bx, By)、fc(x,y)*fc(Cx, Cy)
這三個數的正負性
1)三個數都是正數:D在三角形內
2)至少有一個負數:D在三角形外
3)有且只有一個0,另兩個為正數:在三角形邊上
4)有且只有一個0,一個正數一個負數:在三角形邊的延長線上,也算在三角形外,因為滿足2
5)有二個0:在三角形的頂點上
6)不可能出現3個0,或3個負數,或一個0兩個負數的情況
4.同向法
????假設點P位于三角形內,沿著ABCA的方向在三條邊上行走時,點P始終位于邊AB,BC和CA的右側。當選定線段AB時,點C位于AB的右側,同理選定BC時,點A位于BC的右側,最后選定CA時,點B位于CA的右側,所以當選擇某一條邊時,我們只需驗證點P與該邊所對的點在同一側即可。判斷兩個點在某條線段的同一側可以通過叉積來實現,連接PA,將PA和AB做叉積,再將CA和AB做叉積,如果兩個叉積的結果方向一致,那么兩個點在同一側。
總結
以上是生活随笔為你收集整理的判断点P是否在三角形ABC内的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推杆如妻子,发球木如情人,短铁如父母,球
- 下一篇: 5G技术即将到来,5G网络的基本特点和应