[問題] 判斷線段有無穿過障礙物(visibility)

看板Prob_Solve (計算數學 Problem Solving)作者 (活在當下)時間9年前 (2015/05/17 16:14), 9年前編輯推噓3(3012)
留言15則, 5人參與, 最新討論串1/1
小弟不才....參考visibility graph 做路徑規劃的東西 藍色為障礙物 其他兩個三角形為起始點終點 每個頂點兩兩互連 很多線段 http://imgur.com/fgJzjMz
要扣掉不能行走路徑 就是不能穿過障礙物 我的方法是用障礙物的邊 跟 路徑做有無交叉的判斷 可是內部對角線連線 我卻沒辦法解決 http://imgur.com/KPgIopP
後來有想到解決方法 就是多邊形 頂點 點和點的距離 大於2 就刪除路徑 可是會刪到多餘的線段 就是凹下去那端 外圍的連線並不是在障礙物內部 請各位大大 可以幫小弟忙一下嗎 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.245.12 ※ 文章網址: https://www.ptt.cc/bbs/Prob_Solve/M.1431850454.A.950.html ※ 編輯: comt0928 (122.116.245.12), 05/17/2015 16:20:31

05/17 19:19, , 1F
在每個障礙物裡隨便多畫一條線來判斷 XD?
05/17 19:19, 1F

05/17 19:59, , 2F
後來想到了 先判斷兩個點是不是在同個多邊形
05/17 19:59, 2F

05/17 19:59, , 3F
如果是的話 取兩個點的中心點 來判斷在多邊形內部嗎
05/17 19:59, 3F

05/17 20:00, , 4F
如果在內部就刪除 如果在外部或多邊形 邊長上 就不刪除
05/17 20:00, 4F

05/17 21:42, , 5F
給兩個在同多邊形的點 中心點在外部就表示連線都在外部?
05/17 21:42, 5F

05/17 22:07, , 6F
應該是這樣 暫時想到的方法
05/17 22:07, 6F

05/18 02:40, , 7F
加判線段的向量極角是否在頂點極角內
05/18 02:40, 7F

05/18 05:44, , 8F
你的方法可以找到無交叉的邊 無論那是內或外
05/18 05:44, 8F

05/18 05:46, , 9F
因此我猜你是想問"如何判斷一條線是在多邊形內還是外"
05/18 05:46, 9F

05/18 05:46, , 10F

05/18 05:47, , 11F
(更正一下 我講的"一條線"應該改成"兩點連線"比較精準)
05/18 05:47, 11F

05/18 05:49, , 12F
方法很簡單:判斷相鄰的邊是否從左右夾住對角線
05/18 05:49, 12F

05/18 05:52, , 13F
^^^^^^^^在多邊形上的
05/18 05:52, 13F

05/18 06:00, , 14F
然後我講的應該跟fenzhang講的應該是同一個解法
05/18 06:00, 14F

08/24 23:52, , 15F
謝謝各位 碩班畢業了
08/24 23:52, 15F
文章代碼(AID): #1LM4tMbG (Prob_Solve)
文章代碼(AID): #1LM4tMbG (Prob_Solve)