關於不規則區域的鼠標判定方法(一)---凸包實現.

凸包的定義:

內角和是360°的就是凸包.看起來就是圍出來的凸多邊形.每個角沒有超過180°的.

凸包的形成:

凸包是由n個收尾相接的向量圍出來的.所以有順序的說法.

凸包的樣子:

該圖形是5個點,5個向量圍出來的圖形.

1. P0 -> P1

2. P1 -> P2

3. P2 -> P3

4. P3 -> P4

5. P4 -> P0

根據向量可以根據右手法則.知道2d向量的2d法線. .之後就可以判定.點是否在凸包內還是凸包外了.

算法實現:

1.圍出包.記錄下來點的座標.之後配出向量..

2.之後向量之後可以修改x y的正負號來.找到該向量的法線.

3.之後判斷與法線是同側還是不同側.

4..如果所有的5個法線判斷都是內側.那麼就可以判斷在凸包內了.

算法代碼:




發佈了104 篇原創文章 · 獲贊 7 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章