看板 java 關於我們 聯絡資訊
※ 引述《elru8cjo4 (XD~猴~XD)》之銘言: : 想請問一下 : A : / \ : / \ : / ‧D \ : B/_______\C => 三角形 ; A,B,C,D 都是座標點 : 依此圖 : 我要怎麼樣去判斷D這個點是不是在ABC三角形裡面?? : JAVA裡面有內建的方法可以用嗎? : 因為會有很多個點,每個點都要判斷 : 不知道有什麼好的演算法 > < : 麻煩大家了 謝謝︿︿ 我常會需要判斷是否點在 N 邊形裡. 假設D的座標為(Dx,Dy) 找出 Y=Dy 這條線, 和那三角形的交點. 如果沒交點, 在外面. 有兩個交點, D的X座標介於那兩個交點的X座標之間, 就是在裡面. 不然就是在外面. 應用到多邊形, 也是畫一條 Y=Dy, 然後找出和所有邊的交點, 照 X大小排序. 有奇數個交點的X座標大(或小於)於Dx, 那 D(Dx, Dy)就在在N邊形裡, 反之在外面. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.220.45
tkcn:這招好像很好用! 05/30 13:40
ClareQ:Java awt裡內建的演算法也是這樣實做的,不需要自己造輪子 05/31 22:15