用java編寫三角形 如何判斷一個點是否在三角形內?
如何判斷一個點是否在三角形內?設三角形有三個點a(A1,A2),B(B1,B2),C(C1,C2)三邊方程BC:FA(x,y)=0AC:FB(x,y)=0AB:FC(x,y)=0以BC為例,三角形中的
如何判斷一個點是否在三角形內?
設三角形有三個點
a(A1,A2),B(B1,B2),C(C1,C2)
三邊方程
BC:FA(x,y)=0
AC:FB(x,y)=0
AB:FC(x,y)=0
以BC為例,三角形中的點必須與a點在同一側
所以對于三角形中的d(x,y)
]點,首先是FA(x,y) *fa(A1,A2)>0
其他邊是相同的
所以只要我們比較
fa(x,y)*fa(A1,A2)
FB(x,y)*FB(B1,B2)
FC(x,y)*FC(C1,C2)
這三個數(shù)的正性和負性
1三個數(shù)都是正的:三角形中的D
2至少有一個負的:三角形外的D
3有且只有一個0,另外兩個是正的:在三角形的邊上
4有且只有一個0,一個正的數(shù)和一個負的:在三角形的延長線上在三角形的邊上,它也算在三角形的外面,因為滿足2
5有兩個零:在三個或三個負頂點的情況下,不可能有兩個零或三個負頂點