Re: [問題] 判斷點有無在區塊內
※ 引述《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
05/31 22:15, 2F
討論串 (同標題文章)