Re: [問題] 判斷點有無在區塊內

看板java作者 (虛空)時間17年前 (2008/05/30 01:56), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串7/7 (看更多)
※ 引述《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

05/30 13:40, , 1F
這招好像很好用!
05/30 13:40, 1F

05/31 22:15, , 2F
Java awt裡內建的演算法也是這樣實做的,不需要自己造輪子
05/31 22:15, 2F
文章代碼(AID): #18Fku-uB (java)
討論串 (同標題文章)
文章代碼(AID): #18Fku-uB (java)