算是無聊想到的...
如果給你一個三角形的三頂點座標(平面座標..可以小數點)...
再給你一個點...怎樣最快查出這個點在三角形內外...
這是我的想法:
1.先抓出三角形的範圍...確定點不再三頂點上...
2.每一點x都有他對應的Y範圍(JK之間)..
3.由H的x去推算j.k(好像有"三點"的比例公式)..
4.檢查y再不再jk之間...
是的話就在三角形內..反之則否...
不過好像有點麻煩..
PS.這不是數學題@@...是寫程式用的...
算是無聊想到的...
如果給你一個三角形的三頂點座標(平面座標..可以小數點)...
再給你一個點...怎樣最快查出這個點在三角形內外...
這是我的想法:
1.先抓出三角形的範圍...確定點不再三頂點上...
2.每一點x都有他對應的Y範圍(JK之間)..
3.由H的x去推算j.k(好像有"三點"的比例公式)..
4.檢查y再不再jk之間...
是的話就在三角形內..反之則否...
不過好像有點麻煩..
PS.這不是數學題@@...是寫程式用的...
不妨用向量的觀念吧!
計算其穿越線的次數!!
A 到 BC 線段上的任何一點(不含 BC 兩點)可以寫成 x AB + (1-x) AC, 且 0 < x < 1
AH 可以寫成 y AB + z AC
H 點在 三角形 ABC 內且不在三邊以及三頂點上的條件為
1. y + z < 1, 且
2. y > 0, 且
3. z > 0
''據說''這個好像是高二高三的東西.....作者:Schnaufer
可是已經被我們老師超車講了不少了 = =...
用直線方程式的觀點來看
求直線AB ,看看 C 和 H 是否在直線AB同一側 若是 ==>續求 直線AC ,看看 B 和 H 是否在直線AC同一側 若是 ==>續求 直線BC ,看看 A 和 H 是否在直線BC同一側 若是 ==> 在三角形內部
任一不成立,則在三角形外部或線上
用面積如何?
若AHB+AHC+BHC=ABC,且AHB*AHC*BHC不為0,則點在三角形內。
既然是寫程式用的, 那麼不用數學的方法也可以:作者:TomX
繪三角形, 此處以單色來演示即可, 在此三角形內塗佈顏色, "黑" 的好了, 三角形外塗白的, 給定欲查該點座標後, 檢查該座標的顏色, 是黑的就是三角內, 是白的就是三角外, 簡單明瞭, 沒有運算........
書籤