国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

判斷點擊區域算法

MAX_zuo / 3142人閱讀

摘要:上篇文章解決了四邊形帶旋轉角度問題,耗費一天時間想到的解決算法。原來大神早就寫好了算法,可以解決多邊形點擊區域判斷。旋轉方法判斷點擊區域是否在多邊形范圍內

上篇文章解決了四邊形帶旋轉角度問題,耗費一天時間想到的解決算法。但是僅僅局限于四邊形。
原來大神早就寫好了算法,可以解決n多邊形點擊區域判斷。
預用此算法,首先要保證多邊形第一個點的x軸為最小值,也就是說先要給多邊形各個點坐標做一個排序,找到x最小的點,放到第一個,其他點依次旋轉。

旋轉方法:

function sort(ele) {
    var min = 0,
        arr = [],
        len = ele.length;
    for(var n = 0; n < len; n++){
        if(ele[n][0] < ele[min][0]){
            min = n
        }
    }
    if(min != 0){
        for(var x = min; x < ele.length; x++){
            arr.push(ele[x]);
        }
        for(var y = 0; y < min; y++){
            arr.push(ele[y]);
        }
        return arr
    }
    return ele;
}
var bbox = [[4],[1],[2],[3]];
sort(bbox)//[[1],[2],[3],[4]]

判斷點擊區域是否在多邊形范圍內:

navi_utils.pointInPolygon = function (pos, polygon) {
    var inside = false;
    var polygonSize = polygon.length;
    var val1, val2;
    for(var i = 0; i < polygonSize; i++){
        var p1 = polygon[(i +  polygonSize)%polygonSize];
        var p2 = polygon[(i + 1 + polygonSize)%polygonSize];
        if(pos[1] < p2[1]){
            if(pos[1] >= p1[1]){
                val1 = (pos[1] - p1[1]) * (p2[0] - p1[0]);
                val2 = (pos[0] - p1[0]) * (p2[1] - p1[1]);
                if(val1 > val2){
                    inside = ! inside;
                }
            }
        }else if( pos[1] < p1[1]){
            val1 = (pos[1] - p1[1]) * (p2[0] - p1[0]);
            val2 = (pos[0] - p1[0]) * (p2[1] - p1[1]);
            if(val1 < val2){
                inside = ! inside;
            }
        }
    }
    return inside;
};

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/103119.html

相關文章

  • 判斷用戶點擊是否在指定區域

    摘要:近日在地圖開發中遇到需要高度顯示指定區域的需求,圖形畫出來了,點擊事件卻成為一大難題,在中是沒有點擊事件的,只能通過點擊區域來判斷是否點擊了對象本來如果是正正經經的矩形,判斷點擊也不是什么難事,偏偏地圖就是帶著傾斜角度這樣就沒辦法簡單的通過 近日在地圖開發中遇到需要高度顯示指定區域的需求,圖形畫出來了,點擊事件卻成為一大難題,在canvas中是沒有dom點擊事件的,只能通過點擊區域來判...

    Enlightenment 評論0 收藏0
  • 美國的“大眾點評網”Yelp如何利用深度學習對美食照片進行評分

    摘要:結果,我們當時非常抱以厚望的就是卷積神經網絡模型,或者說是。單反相機可以讓攝影師調節透鏡類型和光圈大小,更好地控制把相片里的哪個部分作為焦點。更進一步,單反相機的傳感器更大,對光線更敏感,即使在非常昏暗的環境下也可以拍出非常漂亮的相片。 Yelp的數據庫中已經存儲了幾千萬張相片,用戶們現在每天都會上傳大概十萬張,而且速度還在不斷加快。事實上,我們發現相片的上傳增長率大于相片的查看率。這些相片...

    legendmohe 評論0 收藏0
  • 比人眼更精準,詳解云識客雙目活體檢測技術

    摘要:雙活體,依然是前最可靠的防攻擊段之。詳解云識客活體檢測技術以下,我們分析一種多重人臉區域共享的深度學習算法。光流法輔助單目活體判斷最后,針對單目活體,云識客也采用光流法輔助活體判斷的校驗機制。 以下這張照?,是真?實拍還是對著照?翻拍的? showImg(https://segmentfault.com/img/bVbuoHD); 如果告訴你,這張照?,是對著照?翻拍的照?,你會不會驚...

    whidy 評論0 收藏0
  • JAVA 垃圾收集器與內存分配策略

    摘要:引言垃圾收集技術并不是語言首創的,年誕生于的是第一門真正使用內存動態分配和垃圾收集技術的語言。垃圾收集器所關注的就是這部分內存。收集器是收集器的多線程版,它是第一款并發收集器。經常出現大對象會導致多次出發垃圾收集。 引言 垃圾收集技術并不是Java語言首創的,1960年誕生于MIT的Lisp是第一門真正使用內存動態分配和垃圾收集技術的語言。垃圾收集技術需要考慮的三個問題是: 哪些內存需...

    AlanKeene 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<