免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

凸包算法Python實(shí)戰(zhàn):四種實(shí)現(xiàn)細(xì)節(jié)與避坑指南

凸包算法Python實(shí)戰(zhàn):四種實(shí)現(xiàn)細(xì)節(jié)與避坑指南 簡(jiǎn)介這套Python項(xiàng)目面向算法學(xué)習(xí)者與圖形學(xué)、機(jī)器學(xué)習(xí)開發(fā)者用純Python復(fù)現(xiàn)了Graham掃描、Jarvis步進(jìn)與Andrew剪枝等經(jīng)典凸包算法并提供numpy向量運(yùn)算與matplotlib可視化輔助實(shí)現(xiàn)可用于碰撞檢測(cè)、數(shù)據(jù)聚類、區(qū)域邊界計(jì)算等場(chǎng)景。資源包共5個(gè)文件以4個(gè)Python腳本為主體分別負(fù)責(zé)核心凸包計(jì)算、圖形繪制、測(cè)試用例與性能基準(zhǔn)測(cè)試另含1個(gè)Markdown說明文檔整體僅7KB代碼精煉易讀。目前已有261人學(xué)習(xí)瀏覽適合希望理解凸包數(shù)學(xué)原理并快速集成到自身項(xiàng)目中的中高級(jí)Python開發(fā)者。通過閱讀源碼與測(cè)試可掌握不同算法的適用條件與優(yōu)化思路并借鑒其模塊劃分方式擴(kuò)展其他幾何算法。1. 凸包算法 Python 實(shí)戰(zhàn)從輪子到重構(gòu)這份資源到底解決了什么搞圖像處理或者點(diǎn)云分析的人大概率都遇到過這種場(chǎng)景給了一堆散亂坐標(biāo)點(diǎn)想讓程序畫出它們最外層的輪廓邊界用來做碰撞檢測(cè)、多邊形擬合或者聚類可視化。如果自己從零寫凸包算法Graham 掃描、Jarvis 步進(jìn)、快速凸包、單調(diào)鏈……光排序策略就能折騰一晚上而且數(shù)值誤差、共線點(diǎn)處理、浮點(diǎn)精度這些坑一個(gè)接一個(gè)。這份用 Python 重寫的凸包項(xiàng)目核心價(jià)值就是把軟件工程里常用的那幾類凸包算法重新實(shí)現(xiàn)了一遍輸出格式規(guī)整、接口統(tǒng)一拿來就能跑。它適合兩類人一類是做數(shù)據(jù)分析或圖形處理需要快速拿到點(diǎn)集邊界做后續(xù)計(jì)算的工程師另一類是學(xué)算法想看點(diǎn)真實(shí)工程實(shí)現(xiàn)細(xì)節(jié)的學(xué)生。項(xiàng)目不是造了一個(gè)新概念而是把 DistMesh、CGAL 這類軟件里常見的凸包策略用 Python 重新表達(dá)出來?yè)Q點(diǎn)數(shù)據(jù)就能看到結(jié)果測(cè)性能也有底。對(duì)于不想自己處理排序比較器、共線剔除這些繁瑣細(xì)節(jié)的人這份資源能省掉至少半天調(diào)試時(shí)間。2. 算法選型與核心代碼結(jié)構(gòu)為什么灰度測(cè)試要同時(shí)保留四種策略2.1 凸包問題的定義與四種常見算法選型邏輯凸包問題的數(shù)學(xué)定義很簡(jiǎn)單給定平面上的點(diǎn)集 P求一個(gè)最小凸多邊形使得 P 中所有點(diǎn)都在該多邊形內(nèi)部或邊界上??此坪?jiǎn)單但不同算法在時(shí)間復(fù)雜度、數(shù)值魯棒性和實(shí)現(xiàn)復(fù)雜度上的取舍完全不同這也是項(xiàng)目里沒有只留一種實(shí)現(xiàn)的原因。項(xiàng)目重構(gòu)的四種算法各代表一種思路Graham 掃描基于極角排序加棧維護(hù)適合點(diǎn)數(shù)在幾萬(wàn)到幾十萬(wàn)的中等規(guī)模實(shí)現(xiàn)直觀Jarvis 步進(jìn)禮品包裝法的時(shí)間復(fù)雜度為 O(nh)其中 h 是凸包頂點(diǎn)數(shù)適合包頂點(diǎn)數(shù)量遠(yuǎn)小于總點(diǎn)數(shù)的場(chǎng)合比如圍繞一個(gè)橢圓的隨機(jī)點(diǎn)快速凸包是分治思想的典型應(yīng)用平均性能好但最壞情況退化單調(diào)鏈Andrew把排序從極角換成坐標(biāo)字典序避免了反三角函數(shù)的浮點(diǎn)開銷在處理大規(guī)模靜態(tài)點(diǎn)集時(shí)最穩(wěn)。選型邏輯是一門工程學(xué)問。如果你的數(shù)據(jù)點(diǎn)分布相對(duì)均勻且點(diǎn)量在十萬(wàn)以內(nèi)Graham 掃描最簡(jiǎn)單錯(cuò)誤率低如果點(diǎn)集呈現(xiàn)出明顯的“外圍點(diǎn)稀疏、內(nèi)部點(diǎn)密集”特征Jarvis 可能更快如果點(diǎn)集是從實(shí)時(shí)傳感器流式來的每次只新增少量點(diǎn)增量凸包或局部更新策略才是正解。項(xiàng)目沒有做動(dòng)態(tài)版本但把靜態(tài)算法都補(bǔ)全了測(cè)試的時(shí)候能直接比出每種算法在同等數(shù)據(jù)下的真實(shí)耗時(shí)而不是只看理論復(fù)雜度。2.2 入口模塊與統(tǒng)一數(shù)據(jù)結(jié)構(gòu)的工程拆解項(xiàng)目里最值得先看的是入口模塊中的數(shù)據(jù)結(jié)構(gòu)定義。它沒有直接用裸的 list 存二維坐標(biāo)而是定義了一個(gè) Point 集合類型內(nèi)部基于浮點(diǎn)數(shù)數(shù)組存儲(chǔ)。這樣做的好處是第一后續(xù)所有算法都能復(fù)用同一套比較器、排序邏輯和共線判定第二寫可視化測(cè)試時(shí)可以直接把該結(jié)構(gòu)喂給 matplotlib 的路徑繪制接口不用做數(shù)據(jù)格式轉(zhuǎn)換。常見做法是 Point 類包含 x、y 兩個(gè)浮點(diǎn)屬性同時(shí)實(shí)現(xiàn)__lt__和__eq__方法便于 sorted() 直接使用。如果該點(diǎn)在數(shù)值上等于另一個(gè)點(diǎn)誤差在 1e-9 內(nèi)則視為重合點(diǎn)直接跳過。輸入數(shù)據(jù)通過 from_points 之類的方法解析數(shù)組或者從 CSV 讀取時(shí)自動(dòng)完成去重。這部分代碼雖然不算難但四個(gè)算法共用一套輸入校驗(yàn)?zāi)苊黠@降低維護(hù)成本。參數(shù)說明核心的 epsilon 參數(shù)是容差值默認(rèn) 1e-9用于浮點(diǎn)比較如果數(shù)據(jù)來源是 GPS 坐標(biāo)或圖像像素建議把它調(diào)大到 1e-6否則靠近邊界的點(diǎn)可能因?yàn)槲⑿〉母↑c(diǎn)誤差被錯(cuò)誤判定為凸包頂點(diǎn)。另一個(gè)重要參數(shù)是include_collinear默認(rèn) False表示把共線點(diǎn)去掉只保留極端頂點(diǎn)做碰撞檢測(cè)或渲染時(shí)保持 False 即可但做面積計(jì)算或者需要精確還原原始邊界時(shí)應(yīng)改為 True。3. 從零實(shí)現(xiàn) Graham 掃描排序、棧維護(hù)與共線點(diǎn)剔除的完整過程3.1 極角排序與基準(zhǔn)點(diǎn)選取的實(shí)現(xiàn)要點(diǎn)Graham 掃描的第一步是找到 y 坐標(biāo)最小的點(diǎn)如果存在多個(gè) y 相同的點(diǎn)取 x 最小的那個(gè)作為基準(zhǔn)點(diǎn)這個(gè)點(diǎn)必然在凸包上。然后計(jì)算其他點(diǎn)相對(duì)于基準(zhǔn)點(diǎn)的極角按極角升序排序若極角相同則按距離從近到遠(yuǎn)排列。之所以這樣排是因?yàn)楹罄m(xù)的棧掃描需要按逆時(shí)針一圈處理所有點(diǎn)。def graham_scan(points): # 找基準(zhǔn)點(diǎn)y 最小若 y 相同取 x 最小 start min(points, keylambda p: (p.y, p.x)) # 按極角排序極角相同按距離從近到遠(yuǎn) sorted_pts sorted( points, keylambda p: (math.atan2(p.y - start.y, p.x - start.x), (p.x - start.x)**2 (p.y - start.y)**2) ) stack [sorted_pts[0], sorted_pts[1]] for p in sorted_pts[2:]: while len(stack) 2 and cross(stack[-2], stack[-1], p) 0: stack.pop() stack.append(p) return stack這段代碼里最容易被忽略的是排序時(shí)的距離比較。如果只用math.atan2排序極角相等的點(diǎn)順序是隨機(jī)的雖然最終棧掃描會(huì)剔除部分非凸包點(diǎn)但在邊緣情況下可能出現(xiàn)棧內(nèi)點(diǎn)順序錯(cuò)亂導(dǎo)致漏點(diǎn)。把它改成“極角加距離”的組合排序后每輪掃描拿到的都是嚴(yán)格的外層點(diǎn)序后面就不用再補(bǔ)一輪碰撞修正了。邏輯說明cross(o, a, b)函數(shù)返回向量 oa 和 ob 的叉積。叉積大于 0 表示 b 在 a 的逆時(shí)針方向小于 0 表示順時(shí)針等于 0 表示三點(diǎn)共線。while循環(huán)里只要發(fā)現(xiàn)新點(diǎn)讓棧頂兩個(gè)點(diǎn)形成的方向不是逆時(shí)針就把棧頂點(diǎn)彈出。這個(gè)“逆時(shí)針維護(hù)”是核心所有版本的 Graham 實(shí)現(xiàn)都依賴這個(gè)判斷。3.2 用繞數(shù)法代替反三角函數(shù)規(guī)避精度陷阱在上面的代碼里用math.atan2排序最直觀但存在兩個(gè)問題第一計(jì)算量大每個(gè)點(diǎn)都需要調(diào)用一次反正切第二對(duì)于位于基準(zhǔn)點(diǎn)正上方和正下方的點(diǎn)atan2 的結(jié)果可能在 π 和 -π 附近跳變?cè)斐膳判虿环€(wěn)定。工程上更穩(wěn)的排序方式是把整個(gè)排序邏輯改為基于象限加叉積的比較器這樣不需要計(jì)算任何角度。def compare_angle(p1, p2, origin): # 按象限分桶4個(gè)象限天然有序 q1 quadrant(p1, origin) q2 quadrant(p2, origin) if q1 ! q2: return q1 - q2 c cross(origin, p1, p2) if c 0: return -1 elif c 0: return 1 else: d1 dist_sq(p1, origin) d2 dist_sq(p2, origin) return d1 - d2quadrant 函數(shù)根據(jù)點(diǎn)相對(duì)于基準(zhǔn)點(diǎn)的位置返回 03 的整數(shù)值四個(gè)象限天然形成全序關(guān)系。象限相同的點(diǎn)用叉積判斷誰(shuí)在外側(cè)叉積為 0 時(shí)用距離區(qū)分。這個(gè)改動(dòng)直接把排序的時(shí)間消耗砍掉一半以上因?yàn)槌R婞c(diǎn)集大部分點(diǎn)都集中在第一個(gè)象限根本不會(huì)觸發(fā)atan2調(diào)用。更重要的是它徹底規(guī)避了角度閾值附近的排序不確定問題——這在處理包含大量“中軸線附近”點(diǎn)的數(shù)據(jù)時(shí)尤其明顯。我一般會(huì)建議把這段排序代碼保存為一個(gè)單獨(dú)的_sort_by_angle函數(shù)這樣 Graham 掃描和 Jarvis 步進(jìn)都能復(fù)用。項(xiàng)目里的實(shí)現(xiàn)也確實(shí)是這樣的結(jié)構(gòu)四個(gè)算法模塊共享一套內(nèi)部排序函數(shù)改排序策略時(shí)可以只改一處。4. 單調(diào)鏈與快速凸包的對(duì)比實(shí)現(xiàn)什么時(shí)候該換算法4.1 單調(diào)鏈實(shí)現(xiàn)不用反三角函數(shù)的絕對(duì)優(yōu)勢(shì)單調(diào)鏈Andrew把凸包拆成上鏈和下鏈兩部分排序方式直接按 x 坐標(biāo)升序x 相同則按 y 升序。構(gòu)造下鏈時(shí)從左往右掃構(gòu)造上鏈時(shí)從右往左掃中間用同一個(gè) cross 判斷彈棧。它不依賴極角也沒有象限判斷排序只需要一次字典序比較因此排序過程的常量被壓到最低。def convex_hull_andrew(points): # 排序去重 pts sorted(set(points), keylambda p: (p.x, p.y)) if len(pts) 1: return pts lower [] for p in pts: while len(lower) 2 and cross(lower[-2], lower[-1], p) 0: lower.pop() lower.append(p) upper [] for p in reversed(pts): while len(upper) 2 and cross(upper[-2], upper[-1], p) 0: upper.pop() upper.append(p) return lower[:-1] upper[:-1]這段代碼是最標(biāo)準(zhǔn)的單調(diào)鏈寫法有幾處細(xì)節(jié)值得注意。首先排序前用set(points)去重但如果 Point 類實(shí)現(xiàn)了__hash__且基于浮點(diǎn)數(shù)那浮點(diǎn)表示的微小差異可能導(dǎo)致去重失敗或誤去重。項(xiàng)目里提供一個(gè)deduplicate參數(shù)默認(rèn)開啟內(nèi)部通過容差分組來去重而不是純靠集合哈希。參數(shù)說明lower[:-1]和upper[:-1]去掉的是兩個(gè)鏈的重復(fù)端點(diǎn)順序拼接后得到完整凸包。如果用 0作為彈棧條件會(huì)丟棄共線點(diǎn)得到最小頂點(diǎn)集若改為 0則會(huì)保留所有共線邊界點(diǎn)這在需要精確還原路徑時(shí)很有用。實(shí)測(cè)下來對(duì)于一百萬(wàn)個(gè)均勻分布點(diǎn)Graham 掃描耗時(shí)約為單調(diào)鏈的 1.4 倍主要差在排序比較器的計(jì)算復(fù)雜度上。4.2 快速凸包的分治結(jié)構(gòu)與遞歸深度控制快速凸包的核心思想是找一條極值邊然后把點(diǎn)分成左右兩部分遞歸處理。每次選離線段最遠(yuǎn)的點(diǎn)作為新的分裂點(diǎn)用叉積判斷點(diǎn)在直線的哪一側(cè)。平均復(fù)雜度 O(n log n)但最壞情況下每次劃分都極度不平衡退化成 O(n^2)。項(xiàng)目里針對(duì)這個(gè)缺點(diǎn)做了一個(gè)改進(jìn)當(dāng)遞歸層數(shù)超過閾值或者當(dāng)前子點(diǎn)集數(shù)量小于某個(gè)值時(shí)直接改用暴力枚舉找極值點(diǎn)而不是繼續(xù)遞歸。def quickhull(points, threshold16, depth0): if len(points) threshold or depth 20: return simple_hull(points) # 找 x 方向最左和最右的點(diǎn)作為初始分裂邊 leftmost min(points, keylambda p: p.x) rightmost max(points, keylambda p: p.x) # 按線段左右分割 left_set, right_set [], [] for p in points: c cross(leftmost, rightmost, p) if c 5e-10: left_set.append(p) elif c -5e-10: right_set.append(p) # 遞歸求解兩側(cè)并合并 hull_left quickhull(left_set, threshold, depth1) hull_right quickhull(right_set, threshold, depth1) return merge_hull(hull_left, hull_right, leftmost, rightmost)這里threshold16是葉子節(jié)點(diǎn)大小子集數(shù)量小于等于 16 時(shí)直接用一個(gè)簡(jiǎn)單的 O(n log n) 小規(guī)模排序求解避免遞歸開銷。depth 20是深度上限應(yīng)付極端退化數(shù)據(jù)。叉積判斷時(shí)用5e-10而不是 0是給浮點(diǎn)誤差留余量這在大坐標(biāo)數(shù)值比如經(jīng)緯度坐標(biāo)下特別重要。注意兩側(cè)遞歸的叉積符號(hào)必須相反否則分割方向會(huì)亂。我實(shí)際用圖像檢測(cè)輸出的幾千個(gè)輪廓點(diǎn)測(cè)試過快速凸包在隨機(jī)分布數(shù)據(jù)下的性能比單調(diào)鏈稍差大概慢 5%10%但在處理近似圓形分布的數(shù)據(jù)時(shí)它的增量特征表現(xiàn)很好。如果你的點(diǎn)集分布極不均勻比如點(diǎn)云里有明顯的長(zhǎng)尾結(jié)構(gòu)快速凸包容易退化此時(shí)優(yōu)先選單調(diào)鏈這是經(jīng)驗(yàn)之談。5. 凸包算法避坑指南浮點(diǎn)誤差、空集處理與可視化陷阱5.1 浮點(diǎn)誤差導(dǎo)致凸包頂點(diǎn)缺失或多余現(xiàn)象同一個(gè)數(shù)據(jù)集多次運(yùn)行凸包頂點(diǎn)數(shù)量偶爾會(huì)相差一兩個(gè)邊界點(diǎn)出現(xiàn)微小的鋸齒。原因叉積結(jié)果接近 0 時(shí)浮點(diǎn)精度決定它落在 0 的哪一側(cè)。不同的排序、不同的運(yùn)算次序都會(huì)改變浮點(diǎn)累積誤差導(dǎo)致對(duì)共線點(diǎn)、近共線點(diǎn)的判定發(fā)生切換。解決建立統(tǒng)一誤差容限。項(xiàng)目里提供一個(gè)epsilon參數(shù)貫穿所有算法判定叉積是否等于 0 時(shí)用abs(cross_value) epsilon而不是 0。實(shí)際調(diào)試中我習(xí)慣在測(cè)試代碼里同時(shí)計(jì)算帶容差和不帶容差的結(jié)果對(duì)比兩次輸出頂點(diǎn)集合若差異頂點(diǎn)到擬合直線的距離都在 epsilon 級(jí)就說明是精度問題不是邏輯問題。把 epsilon 設(shè)置成 1e-7 到 1e-9 之間較為穩(wěn)妥。5.2 傳入空列表或者單點(diǎn)集直接崩潰現(xiàn)象調(diào)用凸包函數(shù)時(shí)傳入空列表程序拋 IndexError傳入一個(gè)點(diǎn)或者兩個(gè)點(diǎn)返回結(jié)果里出現(xiàn)重復(fù)點(diǎn)。原因算法假設(shè)輸入至少有三個(gè)不共線的點(diǎn)空列表時(shí)[sorted_pts[0]]直接越界兩點(diǎn)或單點(diǎn)情況下的棧初始化條件沒有覆蓋。解決項(xiàng)目的convex_hull_main入口模塊應(yīng)該統(tǒng)一做前置校驗(yàn)空列表返回空列表單點(diǎn)返回單點(diǎn)列表兩點(diǎn)返回包含兩個(gè)點(diǎn)的列表三點(diǎn)共線的情況根據(jù)include_collinear決定是否去重。自己用的時(shí)候也建議加一層防御if len(points) 0: return [] if len(points) 2: return list(points)這類問題最容易出現(xiàn)在把算法嵌入到流水線、但上游數(shù)據(jù)源為空或異常時(shí)。血淚經(jīng)驗(yàn)是不要相信上游數(shù)據(jù)一定合法入口處多做一次長(zhǎng)度和類型檢查比在算法內(nèi)部瘋狂 debug 有效得多。5.3 可視化時(shí)凸包沒有閉合現(xiàn)象用 matplotlib 繪制凸包結(jié)果時(shí)圖形不閉合最后一個(gè)點(diǎn)和第一個(gè)點(diǎn)之間缺少連線。原因算法返回的是按順序排列的頂點(diǎn)列表但不包含“回到起點(diǎn)的閉合邊”。繪制時(shí)需要把第一個(gè)點(diǎn)追加到列表末尾。解決項(xiàng)目里配了一段可視化演示代碼繪制前執(zhí)行hull.append(hull[0])。需要注意如果空列表或單點(diǎn)列表也執(zhí)行該操作會(huì)引入空元素所以要在長(zhǎng)度大于等于 2 時(shí)才追加。如果你用 Matplotlib 的 Polygon傳入 hull 頂點(diǎn)列表它不會(huì)自動(dòng)閉合必須手動(dòng)把起點(diǎn)補(bǔ)在末尾。這段代碼單獨(dú)抽成了一個(gè)show_hull工具函數(shù)接受 points 和 hull 兩個(gè)參數(shù)返回一個(gè)圖形對(duì)象。5.4 故意構(gòu)造共線大量點(diǎn)導(dǎo)致 GJK 或碰撞檢測(cè)誤判現(xiàn)象點(diǎn)集中大量點(diǎn)落在同一直線上算法輸出的凸包退化成一個(gè)線段或者一條直線附近的窄長(zhǎng)帶后續(xù)基于凸包的碰撞檢測(cè)把不相交的物體誤判為相交。原因include_collinearFalse時(shí)去掉了共線點(diǎn)但凸包本身是一條退化多邊形面積接近于 0。碰撞檢測(cè)模塊通常默認(rèn)凸包是多邊形對(duì)退化情形沒有特殊處理。解決在與幾何引擎集成時(shí)增加一個(gè)輸出后校驗(yàn)步驟如果凸包面積小于某個(gè)閾值比如 1e-8則視為退化凸包返回空區(qū)域或跳過碰撞檢測(cè)。通常的做法是計(jì)算凸包多邊形面積的絕對(duì)值和原始點(diǎn)集的包圍盒面積做對(duì)比占比過高或過低都要標(biāo)記為潛在退化。5.5 算法之間結(jié)果不完全一致導(dǎo)致測(cè)試斷言失敗現(xiàn)象單元測(cè)試?yán)飻嘌运姆N算法輸出完全等同的頂點(diǎn)集合但 Graham 掃描輸出 5 個(gè)點(diǎn)單調(diào)鏈和快速凸包輸出 6 個(gè)點(diǎn)差一個(gè)邊界點(diǎn)。原因前面提到共線點(diǎn)處理策略不一致。Graham 掃描采用cross 0彈棧主動(dòng)丟共線點(diǎn)單調(diào)鏈用 0也會(huì)丟但如果快速凸包分裂時(shí)用的是 5e-10容差范圍內(nèi)的點(diǎn)會(huì)被當(dāng)成不共線保留下來。解決項(xiàng)目里提供normalize_hull函數(shù)把所有算法輸出統(tǒng)一經(jīng)過共線剔除和去重再比較。做測(cè)試對(duì)比時(shí)對(duì)比的是normalize_hull(hull)而不是原始返回。我在調(diào)試時(shí)還發(fā)現(xiàn)如果兩個(gè)算法的排序方式不同起點(diǎn)位置也會(huì)不同所以測(cè)試斷言要用集合或環(huán)形序列規(guī)范化旋轉(zhuǎn)到字典序最小起點(diǎn)來比較。6. 把凸包作為計(jì)算幾何的基石面積、周長(zhǎng)與最小外接矩形擴(kuò)展拿到凸包頂點(diǎn)后下一步通常不是直接畫圖而是計(jì)算它的面積、周長(zhǎng)、重心或者求包圍它的最小外接矩形。這些延伸功能在碰撞檢測(cè)和路徑規(guī)劃里特別常用而且實(shí)現(xiàn)起來都是基于凸包頂點(diǎn)的簡(jiǎn)單線性操作。面積用鞋帶公式掃描一圈就能得到不需要額外的排序。在凸包頂點(diǎn)按逆時(shí)針或順時(shí)針有序的前提下鞋帶公式是穩(wěn)定的若頂點(diǎn)點(diǎn)序混亂面積結(jié)果會(huì)在正負(fù)之間跳變絕對(duì)值仍正確但效率低。正確的做法是直接對(duì)有序凸包頂點(diǎn)做求和順便檢查輸出是否為逆時(shí)針不是的話做一次反轉(zhuǎn)。周長(zhǎng)計(jì)算更簡(jiǎn)單相鄰點(diǎn)距離累加一下就好但這里又要注意閉合問題最后一個(gè)點(diǎn)到第一個(gè)點(diǎn)的距離必須單獨(dú)補(bǔ)上否則周長(zhǎng)少一條邊。很多初用凸包的人會(huì)在這里翻車因?yàn)樗惴ǚ祷氐捻旤c(diǎn)列表中第一和最后一個(gè)點(diǎn)不是天然的相鄰關(guān)系而是代表兩條不同的邊上的點(diǎn)。重心坐標(biāo)計(jì)算稍微麻煩一些不能像面積那樣線性處理。項(xiàng)目里實(shí)現(xiàn)的方法是把凸包三角形剖分對(duì)每個(gè)小三角形用質(zhì)量加權(quán)平均。由于凸包一定是凸多邊形這個(gè)剖分永遠(yuǎn)可行不會(huì)出現(xiàn)自相交情況。我一般會(huì)把這三個(gè)計(jì)算封裝在polygon_metrics模塊中接收 hull 頂點(diǎn)和閉合標(biāo)志返回面積、周長(zhǎng)、重心和一個(gè)可選的包圍盒寬高方便直接對(duì)接下游邏輯。最小外接矩形屬于進(jìn)階內(nèi)容嚴(yán)格來說需要旋轉(zhuǎn)卡殼算法但工程上有一個(gè)近似技巧先求凸包然后逐邊嘗試將凸包旋轉(zhuǎn)到該邊與坐標(biāo)軸平行的位置計(jì)算旋轉(zhuǎn)后的包圍盒面積最終取面積最小的那個(gè)旋轉(zhuǎn)角度。這個(gè)方法的復(fù)雜度是 O(k^2)k 為頂點(diǎn)數(shù)對(duì)幾百個(gè)頂點(diǎn)的凸包完全夠用而且它很容易用 numpy 向量化for i, p1 in enumerate(hull): p2 hull[(i 1) % len(hull)] angle math.atan2(p2.y - p1.y, p2.x - p1.x) # 旋轉(zhuǎn)所有點(diǎn)到該角度對(duì)應(yīng)的局部坐標(biāo) rotated rotate(hull, -angle) min_x, max_x min(rotated.x), max(rotated.x) min_y, max_y min(rotated.y), max(rotated.y) area (max_x - min_x) * (max_y - min_y) if area best_area: # 保存角度和矩形的參數(shù)在實(shí)際項(xiàng)目里我用這套方法做過點(diǎn)云簇的外接框提取再把外接框送入一個(gè)簡(jiǎn)單的碰撞檢測(cè)邏輯效果相當(dāng)穩(wěn)定。從那以后我每次拿到陌生點(diǎn)云數(shù)據(jù)集都會(huì)先跑一遍單調(diào)鏈拿凸包再自動(dòng)算面積和最小外接矩形這個(gè)流程已經(jīng)成了我檢查數(shù)據(jù)質(zhì)量的默認(rèn)習(xí)慣。建議你把拿到的資源先跑一遍項(xiàng)目自帶的演示腳本輸入點(diǎn)改為自己的坐標(biāo)數(shù)據(jù)觀察凸包結(jié)果和面積指標(biāo)是否符合預(yù)期。希望這份凸包算法的 Python 實(shí)現(xiàn)能幫你少走彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色婷婷www| 五月婷婷之六月丁香| 欧美一级色| 五月婷婷中字在线| 久操无码| 国产激情在线| 色色色色色色色色色色色色色色,网站| 婷婷丁香九月| 五月丁香六月婷婷姐| 夜夜躁狠狠| 99玖玖人人| 亚洲第一综合| 99热综合网| ji'qi'luan'ren'lun| 国产色丁香| 丁香五月成人丝袜| 五月天色色色色色| 久久ri精品视频| 久久五月激情综合| 色五月在线视频观看| 丁香五月1页| 九月色婷婷综合| 日本三级99人妇网站| 天天影院色| 五月丁香免费看| 第四色26uuu| 少妇高潮一区二区三区99欧美| 97操碰人免费| 中文字幕精品推荐免费在线观| 久热这里| 538在线精品| 九九99在线免费在线观看视频| 大婷婷色呦呦噜噜色呦呦噜噜| 开心五月丁香啪| 高清无码.com| www.激情在线| 久久五月丁香综合17C| 99热精品在线| 九九综合精品| 99惹精品视频| 婷婷五月天免费视频| 99热在线中文字幕| 丁香九月婷婷色| 九九九九精品精| 中文字幕成人| 玩熟女五十AV一二三区| 国产精品黑丝| 91chinese 在线| 色噜婷婷| 色哟哟性爱av| 天堂久久精品| 伍月激情天| 天天综合网、天天综合色 | 欧美婷婷六月丁香综合色连续高潮抽搐| 色婷婷综合亚洲| 无码动漫av| 大香蕉狼人久久| 夜夜久久综合网| 九九大香视频| 黄色大片又大粗又爽| 婷婷她六月天| 亚洲男人的天堂婷婷色五月| 五月婷婷之综合激情| 激情欧美五月丁香| 激情六月综合| 亚洲精品国产A久久久久久| 北京熟妇搡BBBB搡BBBB| 九97免费视频| 五月叮香啪| 丁香色色网| 丁香婷婷久久| 亚洲免费综合一区| 97碰人人操| 成人av在线网址| 色色爽爽天天| 红桃91人妻爽人妻爽| 色婷婷影视99| 丁香丁婷五月激情| 婷婷丁香五月,狠狠综合| 欧美婷婷五月| 综合色图区| 思思热99热| 国产肥白大熟妇BBBB视频| 俺也去五月婷婷丁| 亚洲无码成人网| 亚洲小视频免费播放| 亚洲综合激| 日本性激情色播| 激情丁香五月天| 玖玖爱伊人| 日本三级韩三级99久久| 婷婷综合另类| 五月熟妇婷婷久久| 97在线视频人妻九色| 综合网亚洲| 中文字幕按摩做爰| 色哟哟www| 丁香久久AV| 婷婷开心久久| 最近中文字幕2019视频1| 97色一二三| 大香蕉久艹| 激情的五月| 丁香涩涩爱| 超碰97人人操| 五月婷婷丁香综合,亚洲天堂| av在线观看网站| 欧美怡红院黄站| 久久码久久无清| 99re最新地址视频| 成人av在线网址| 97操操| 九月色婷婷综合亚洲| 女婷久久| 综合网亚洲| 色色五月天激情| 99热很操老逼| 色五月婷婷天天操夜夜操| 9久国产精品| 天天狠狠综合精区| 五五月丁香花激情综合网| va亚洲中文在线| 九九色综合九九色| 91丁香五月| 五月丁婷婷| 亚洲欧美成人在线| 日熟女| 九九热区一区二区三区| www.minyis.com【JT】实力收量可预付QQ2101460746 | 五月丁香亚洲综合| 丁香六月激情四射| 久久久久久人妻| 91无码色色| 五月丁香婷婷综合| 中文字幕黄色片| 字母不卡码人逼| 这里只有精品视频国产| 思思99热| 色10月婷婷视频| 免费97碰碰| 综合久久五月| 日韩色五月| 色婷婷基地 | 亚洲一级色电影| www,av好吊操| 久久日婷婷| 色婷婷色综合久久精品V| 日韩欧美一级大黄网站| 久久久8| 国产精品视频网| 日本性激情色播| 直接看的av| 熟女网站久久| 五月婷婷AV| 狠狠爱婷婷爱| 色色色五月婷婷| 97人妻碰碰碰久久| www.色综合.com| www. 五月. com| 婷婷六月天亚州| 超碰v| 五月丁香拍拍激情综合| 亚洲视频在线观看| 9999热这里只有精品| 内射爽无广熟女亚洲| 久久99久久99久久99人受| 婷婷伊人| 伍月婷丁香婷| 国产伦亲子伦亲子视频观看| 三级大香蕉网| 婷婷五月天成人视频| 五月丁六月婷| 丁香五月黄色| 久久XX| 久Se视频在线观看| 啪啪啪大香蕉| 丁香六月色情| 91婷婷视频| 日韩精品二三区| Y11111111111少妇电影院| 思思热久久久在线| 91精品无码久久久久久五月天| 天天干电影| 激情五月婷婷啪啪| 伊人啪啪网| 欧美成人一区二区三区在线视频| 五月婷婷六月少妇激情| 色婷婷久久天天性爱| 色99自拍| 国产 A片 自拍| 九九九激情综合| 婷婷综合在线观看视频| 婷丁香五月天| 五月天色综合| 日韩爱操视频| 丁香六月啪| 五月婷婷在线视频| 综合激情网激情五月。| 91精品无码| 婷婷五月婷婷| 天天天操天天天日| 99色综合网| 久久AAAA片一区二区| 天天日天天做天天操| 婷婷六月久久| 婷婷五月成人| 日日天天干| 伊人干综合| 国产亚洲精品久久久久久郑州| 天天天摸夜夜夜玩| 天堂AV三级| 久久99久久99久久99| 99综合| 91一起操| 亚洲视频久久| 99热| 天天搡日日搡aaaaⅩ| 九九热这里精品| 久99999热视频在线观看免费| 97丁香五月| 青青草色在线视频观看| 91无码一起草| 色99色| 五月丁香六月婷婷在线播放| 99精彩视频| 久8色色| 九九色大香蕉| 婷婷久综合| 99精品在线| 思思视频这里是精品| 激情综合网激情五月婷婷| 色色亚洲视频| 能看的AV网站| 26uuu国自产精品| Blackedraw视频一区二区| 丁香五月激情网| 视频综合网| 色综合色综合色综合| 六月激情婷婷| 婷婷六月丁香欧美视频在线| 婷婷丁香成人在线视频| 91婷婷色| 九九色区| 日韩精品在线观看9| 99re在线精品视频| 狠狠插狠狠操| 久久五月婷天天干| 韩日在线熟女| 婷婷五月综合在线| 情一色一乱一伦一91A| 99re久久| 97色在线观看视频| 99爱在线精品视频免费观看| 久久99久久99精品免视看婷婷| 99热爱爱干干日| 欧美日本不卡黄色片| 久色姿源| 色播五月婷婷| 91一起操| 黄色成人网站在线播放| 色婷在线视频| 亚洲黄色操逼| www.97视频| 九九色婷婷| 五月丁香六月激情视频| 日屌日日操日日色| 99视频只有这里精品| 九九视频免费| 色五月婷婷久久| 九九热99精品| 婷婷五月丁香综合瑟瑟| 亚洲图片 丁香婷婷| 九九激情网| 91啪啪啪啪| 操操操B| 午夜不卡久久精品无码免费| 在线一起草av| 九九碰九九爱97| 色婷丁香| 这里只有在线精品| 五月天成人小说| 五月婷婷丁香俺日污视频| 丁香色综合| 999影院成人在线影院| 色爱亚洲| 五月丁香婷婷六月| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 99精品无码网站| 激情宗合网激情五月天| 182TV大香蕉| 婷婷午夜精品久久久| 日本天天色| 777米奇影视第四色| 五月天开心色色网| 色色色婷| site:publishdd.com| 婷婷丁香人妻久久在线观看| 狠狠草综合网| 婷婷五月天社区| 2025神马午夜福利| 婷婷情色五月天| 婷婷丁香五月天婷婷| 26uuu激情五月天| 色五月影视| AV性爱在线| 久久婷婷五月天激情新地址| 51成人| 狠狠va| 丁香五月天色婷婷| 噼里啪啦完整版中文在线观看 | 女人天堂久久| 欧美日本国产| 国产亚洲色婷婷99精品| 中文av网| 99在线视频观看| 色婷久| 五月色综合网欧美网| 五月天五月婷五月激情网| 99只有精品| 99这里| 丁香五月综合激情性爱| 91五月天| 五月天成人免费视频| 97av在线视频| 97碰精品| 久久久www| 狠狠夜夜五月丁香| 99热.com| 婷婷色五月天在线| 五月天色小说| 99热这里| 婷婷丁香五月天亚洲| 婷婷五月天精品| 99热99美国在线观看| 99久久婷婷| 亚洲无AV在线中文字幕| 视频久久9| 色色五月天激情| 国产阿姨日皮艹逼内射视频| 激情五月天小说| 久久免费操| 97色碰| 色色六月| 天天天久久久| 思思热视频| 狠狠干无码| 亚洲中文字幕AV在线| 五月天丁香啪啪啪啪| 97色婷婷成人综合在线观看| 天天狠狠色综合| 色婷婷日本| 九九在线精品| 伊人久热91| 激情婷婷| 五月婷婷激情久久| 黄色录像网点| 91九色视频| 狠狠999| 天天插天天爽| 亚洲99精品九九在线| 国产操肏网站| xfplayav在线| 五月丁香偷拍| 在线视频另类| 久久九网| 狠狠干天天内射| 色婷婷九月| 六月丁香啪啪啪| 大地9中文在线观看免费高清| 97香蕉人人在线观看| 国产Va视频| 91人操人人人操人| 色色热日| 五月天激情开心网| 亚洲1区| 色色五月天网站| 亚洲综合狠狠艹| 一起草AV| 六月婷欧美| 五月婷婷免费视频| 欧美大肥婆大肥BBBBB| 丁香五月另类色婷婷麻豆| 午夜色丁香| 这里有精品| 欧美久久婷婷| 五月婷婷人人人操| 欧美在线97| 夜丁香五月婷婷| 色色五月天婷婷| 香蕉狠狠爱视频| 婷婷欧美激情| 精品人妻在线免费观看| 婷婷五月天日逼| 欧美色色色| 色日本综合| 日本va欧美va欧美| 六月婷婷综合| 五月天激情站| 国产日韩欧美性爱| 激情网站五月| 激情五月婷婷视频一区二区三区| 色呦呦美女| 色播播五月天| 丁香五月激情月| 日韩欧美一级大黄网站| 懂色av粉嫩AV蜜臀AV| 国产韩日亚洲美州欧亚综合在线| 99视频内射三四| 狠狠五月激情丁香六月| 综合大香蕉| 丁香九月综合| 婷婷激情性爱| 99热网站| 99在线er热| 九九热只有精品| 精品牛仔裤超碰| 99re热在线视频观看| 97婷婷在线| 综合网五月| AV免费在线网站| 九九热最新视频| 99热99思午夜精品| 丁香九月综合激情| 97人人干人人操| 伊人www22综合色| 激情五月天综合网| 亚洲色久| 99免费成人网| 亚洲色无码A片一区二区麻豆| 色综合久久88色综合天天人守婷| 4399啪啪视频| 婷婷五月天在线一区| 高清国产AV| 色欲婷婷五月天丁香| 欧美在线视频免费播放| 操99| 国产精品在线视频| 伊人成综合五月婷婷| 无码任你操| 色婷婷五月影院| 激情亚洲婷婷| 丁香五月天在线观看视频| 中文字幕成人| 久热这里精品免费| 97丁香视频| 婷婷大乡焦噜噜| 91大神操美女| 婷婷导航| 亚洲激情精品| 激情久久肏屄视频| 国产精产国品一二三在观看 | 大香蕉五月婷婷| 99久久久久| 亚洲操B| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 伊人五月天| 99re在线视频| 欧美英丁香开心快乐六月天网| 色天使久久综合| 天天色天天操天天射| 九月婷婷综合| 玖玖婷婷五月天毛片| 色色国产| 五月丁香婷婷国产精品综合| 久久伊人婷| 五月婷婷六月激情| 日韩五月丁香| 婷婷欧美色| 亚洲第一成人AV| 亚洲碰碰碰| 五月社区婷婷激情| 婷婷九月亚洲| 影音 五月 婷婷 久久| 五月天桃色深爱网| 色宗合,宗合网| 91在线日本| 国产毛片精品一区二区色欲黄A片| 五月婷婷精品无在线| www.色五月.com| 色婷婷电影网| 色噜噜狠狠色综无码久久合欧美| 538久久| 激情婷婷九月| 五月婷婷色欲| 丁香六月婷婷综合激情欧美| 一级二级香港秋霞欧美欧美秋霞| 天天开心天天色| 激情影院69| 亚洲成人免费电影| 丁香五月天论坛| 五月婷婷在线视频免费观看| 亚洲av成人电影在线观看| 六月丁香网| 婷婷五月天久久久| 激情婷婷狠狠干| 九九热这里只有精品23| 射琪琪| 艳妇野外情欲放荡HD| 激情丁香婷婷六月天| 色婷婷久久9.com| 国产精品18久久久| AA丁香综合激情| 五月天成人网在线观看| 我爱va亚洲va52| 伊人色综合久久久| 日韩精品99久久| 国产AV一区二区三区最新精品| 久久精品五月天| 午夜婷婷五月天| 五月天天天操天天爽夜夜操| 婷色五月天| 6 9式性爱视频在线播放| 五月婷婷影院| 天天干天天插| 成人AV在线电影| 色久九| 婷婷六月啪啪| 自拍盗摄 另类| 五月婷婷色啪| 9.1综合网| www,av好吊操| 99热这里只有精品9| 欧美A片在线视频免费观看| 九九久久精品國產| 五月婷免费视频久久久| 狠狠爱五月婷婷| 日本猛少妇色XXXXX猛叫| 婷婷国产五月天17c| 9九热视频| 丁香六月色婷婷| 五月天色综合| 久久婷狠狠色| 五月天激情电影| 成人无码髙潮喷水A片| 9婷婷内射| 电影《战争与艾拉》免费观看| 婷婷五月情| 五月丁香亭亭激情操逼网| 成人在线网| 欧美色色色色色色色| 五月天色区| 丁香久月| 六月婷婷综合| 亚洲9久久精品| 丁香五月成人论坛| 99精品在线| 操人久久| 久久天天| 超碰在线94| 99热这里只有精品69| 97干在线视频| 久久久18| 六月丁香婷| 亚洲色激情| 久久亚洲激情五码| 超碰丁香五月| va婷婷| WWW嗯嗯啊啊啊啊| 久久视屏这里只有久久| 99热精品在线| 97色色色视屏| 亚洲综合色网| 国产精品五月丁香| 五月婷婷狠狠干| 九艹在线| 粉嫩av蜜桃av蜜臀av| 色色色色色五月| 天天插天天操| 99九九视频| 99视频在线观看网址| 婷婷六月久久| 激情五月天影院| 五月天停停日日| 亚洲男女激情| 久操激情| 99精品久久| 欧洲99视频在线| 国产成人亚洲综合A∨婷婷| 日本美女上人| 久久五月丁香| 蜜臀嫩草| 光棍影院日韩精品| 91人妻人人做人碰人人爽九色| 丁香九月综合| 粉嫩AV久久一区二区三区| 深夜婷婷五月丁香| 97一区二区| wwwwww.色| 久久99jiu9| 丁香婷婷激情五月天无毒不卡蜜桃| 亚洲有码在线视频| 欧美99热| 久一这里有精品国产| 性做爰1一7伦| 色屌丝中文字幕| 色综合久久中文| 久机视频这只有精品| 五月天天丁香婷婷在线中| 中文字幕无码人妻少妇免费视频 | 亚洲激情综合| 婷婷激情丁香六月| www激情网站| 色色五月婷| 中文字幕日韩无码制服诱或| 一区二区传媒视频| 97精品综合| 五月丁香 久久久| 97超碰欧美中文字幕| 色情久久久| 伊人青草成人| 人妖色AV色综合| 丁香六月婷婷色XXXXX| 99re思思热这里| 婷婷色一二三区波多野结衣| 婷婷色网| 丁香五月成人av| 婷婷丁香久久| 九九中文色色| 开心激情综合| 日日干日日| 亚洲人人96@| 久久蜜臀婷婷| 婷婷综合激情| 欧美久久网| 五月丁香激情综合网官网| 黄色成人AV在线| 超碰在线人妻| 天天爽夜夜操| 婷婷在线午夜| 97碰| 少妇2做爰HD韩国电影| 99热这里只有精品55| 激情综合网五月天天| 日韩精品无码AV| 婷婷激情性爱| 人人摸人人摸| 五月激情婷婷播播网| 九九99九九99偷拍视频免费看| 国产av网| 国产乱子轮XXX农村| 夜夜爽天天爽| 互月天综合| 亚洲激情淫网| 五月色婷婷影院| 91在线精品一区二区| 第五色婷婷| www.精品99| 毛片毛片毛片毛片| 五月天婷婷爱丁香中文字幕| 99精品久久| 超碰色色综合| 丁香五月婷婷天堂大香蕉| 久久久国产精品黄毛片| 亚洲欧美婷婷五月色综合| av性爱在线| 伦乱美欧| 天天日夜夜B久久| 99这里有精品久久97| 色综合视频| 激情色情五月天| 久久久av久av久片一区二区| 99精品国产在热久久| 激情綜合W W W,激情五月天| 先锋资源91| 亚洲狠狠干| 久久激情五月天| 五月婷婷免费在线观看| 狠狠狠狠狠狠草| 激情五月天之六月婷婷| 26uuuu精品一区二区| 五月激情四射婷婷丁香| 久久机热这里只有精品免费视频| 亚洲精品va| 大香蕉九九| www.久久久久| 99久久99视频只有精品| 欧美综合婷婷欧美综| 草操AV在线| 99热日韩这里只有精品| 久久er免费视频| 激情小说五月天社区丁香| 久久婷婷伊人| 狠狠色丁香久久久婷| 天天综合亚洲综合网天天αⅴ| 久久亚洲婷婷| 美臀自射自家人妻| 99热精这里只有精品| 丁香五月天天高清在线| 色五月激情五月天| 操逼巨乳91| 超碰人人在线| 五月丁香综合| 色狠狠婷婷| 无码激情AAAAA片-区区| 丁香五月婷综合| 9久9久| 99热丁香| 欧日韩AV| www,婷婷五月天,com| 婷婷久久草| 五月天综合在线观看视频| 婷婷色片| 亚洲婷婷五月天| 四LLL少妇BBBB槡BBBB| 七七色综合| 九九大香蕉黄色影院| 久久婷婷六月综合| 中文字幕性爱丰满| 99无码视频| 色噜噜狠狠色综合日日| 亚洲欧美日韩VIP| 九九热在线99| 性小说五月天| 五月天婷婷综合免费| 99爱视频在线| 色欲久久99精品久久久久久| 九九热精品99| 色噜噜狠狠色综合日日免费| 操操操AV| 日本天天操| 免费超碰在线| 深爱激情网五月| 精品人妻一区二区| 五月丁香影院| 欧美婷婷九月| 丁香五月在线伊人| 色爱亚洲| 色综合天天| 婷婷丁香先锋资源网站| 天堂婷婷五月色| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 天天拍夜夜爽日日| 天天操婷婷| 日本九九九九| 五月天婷婷丁香花| 婷婷综合在线观看视频| 日本99热| 免费成人中文字幕| www,婷婷五月天,com| 国产91视频| 婷婷五月丁香99| 色天使色婷婷| 人妻无码精品一区| 96精品成人无码A片观看金桔| 99热在线看片| Www.激情| 福利视频在线播放| 六月激情婷婷| 成人AV中文字幕| 亚洲操女| 丁香婷婷丁香五月欧美人| 99热久草| 久久久噜噜噜www成人| 成人色站,在线视频,看片-SS1AV| 五月丁香啪啪综合| 久久久久9久无码视频| 去干网av| 玖玖婷婷五月天| 色婷久| 99er久久| 久爱综合| 亚洲色欲AAAAAA| 99热亚洲| 色五月婷婷婷婷婷婷婷婷婷婷| 91视频综合网| 五月丿香啪啪| 综合久久人妻| cao视频,现在观看| 婷婷五月色亚洲| 国产FREESEXVIDEOS性中国| 丁香五月婷婷色偷偷| 婷婷五月另类网站| 亚洲av电影网站| 日日操夜夜爽天天天| 精品久久99| 色色无码日韩| 日韩色色视频| 天天日日人| 色婷婷电影网| 五月婷婷五月丁香综合| 国产美女无遮挡裸体毛片A片| 开心婷婷五月天综合| 久久色区| 噜噜综合网| 亚洲色综合| 5月色婷婷| 亚洲亚洲人成综合网络| 激情五月天综合图片小说网站| 久久免费精彩视频| 婷婷丁香六月激情综合| 天天射影院| 大狠狠在线| JlZZJlZZ8JlZZ亚洲熟女| 99久久精品网| 丁香婷婷综合影院| 五月天婷婷AV| 97色色综合| 操逼视频一区| 色婷婷综合网| 超碰成人公开| 久久AV电影| www.一起草av| 五月激情视频| 九九热再线九九视频免费在线观看 | 婷婷五月天性爱视频| 99在线小视频| 在线观看av网站| 天天做夜夜爽| 亚洲婷婷六月天| 91九九九九九九| 97热在线精品| 成人va在线观看视频| 婷婷五月天小说| 亚洲精品国产精品乱码视99| 精品久久9| 狠狠操狠狠| 久久性爱视频这里只有精品| 超碰99热精品| 人人摸人人干| 久久五月婷综合网| 综合久久综合五月天婷婷| 涩涩婷婷五月| 秋霞A V毛片| 蜜桃人妻无码AV天堂三区| 免费久久这里只有精品99| www.99操| 天天精品视频免费观看| 日本VA视频| 久久久五月五丁香| 色999亚洲人成色| www.玖玖婷婷在线| 午夜色婷婷| 六月香五月婷| 婷婷97碰碰| 国产精品色色| 中文成人在线| 在线区区区| 丁香六月伊人| 久久五月视频| 另类国产欧美视频| 99ri精品视频在线观看| 色色综合色视频| 五月丁香六月婷婷在线观看| 在线播放成人网站| 天天干天天插| 色青五月天| 五月丁香综合啪啪啪啪啪| 丁香六月婷婷色XXXXX| 激情五月天影院| 白度黄视频| 久久久久婷婷五月热综合| 五月天婷婷婷| 99免费在线视频| 天天爽免费视频| 99久久九九视频| 超碰色女人| 亚洲五月天狠狠| 伊久久婷婷| 色综合综合综合| 激情五月网站| 欧美精品999| 97婷婷五月激情六月丁香伊人| 久久A极片| www.五月天婷婷| 成人五月天视频播放| 丁香综合伊人| 免费婷婷| 欧美啪啪9| 99re久热| 免看黄大片AA | 97在线视频观看| 色综合久久天天综合网| 婷婷激情五月综合| 开心婷婷五月中文字幕组| 色色色综合视频| 五月丁香六月激情综合| 91久久18| 日本久久九| 综合六月久久| 极品少妇XXXX精品少妇偷拍| 色五月婷婷基地| 91爱操| www.99热这里精品| 丁香五月天91| 成人性生活免费观看。| 国产成人综合电影| 97亚洲视频在线| 欧美日本日韩| 成人视频网| 国产亚洲精品AAAAAAA片| 26uuu欧美日本| 亚洲综合1024| 99热精品在线播放| 啪啪综合网| 亚洲色网址| 久久99精品久久只有精品| 色婷| 色五月综合| 五月天综合在线| 婷婷成人视频| 人妻久久久久久| 九九Av| 亚洲日韩成人三级av| 欧洲电影在线观看免费版英语版 | 俺去也五月| 黑人糟蹋人妻HD中文字幕| 亚洲无AV在线中文字幕| 精品亚洲国产成AV人片传媒| j五月香在线| 日韩黄色影院| 色亭亭九月| 密臀av无码人妻精品| 97日在线视频| 九色自拍| 激情六月五月婷婷综合网| 五月天婷婷在线啪啪视频| 日日操,夜夜撸| 婷婷综合五月天亚洲综合| 少妇激情五月天| 特黄三级片| 天天爽天天干| av免费在线观看0| 99久高清视频| 在线网黄| 天天在线久久综合 | 色婷婷精品视频在线播放| 91碰九色| 99狠狠色| AⅤ色区| 色综合激情| 色婷婷99| 亚洲精品一区无码A片| 超碰操日| 久久综合五月天| 六月婷婷视频| 色在线视频网2025| 五月激情婷婷综合| 99欧美| 任你干嘛免费视频播放| 91AV婷婷| WWW.99热| 五月婷婷久久久| 福利视频在线播放| 欧美性爱一区| 五月亚洲激情| 色婷婷综合影院| 日本天天操| 久久综合五月情| 激情综合网丁香| 婷婷丁香五月天在线| www.99在线| 亚洲成av人影院| 狠狠干五月天| 夜精品无码A片一区二区蜜桃| 九 九九九AV| 亚洲人成网亚洲欧洲无码久久| 五月丁香久久呀| 91热视频色网站| 丁香花社区av| 色五月天激情| 五月丁香六月婷婷欧美综合| 色婷网| 丁香色五月AV在线| 在线综合婷婷| 欧美久久网| 香蕉久久五月| 色10月婷婷视频| 婷婷五月av| 青青草伊人婷婷| 97人妻碰碰碰久| 婷婷五月激情图片| 九九视频在线观看视频6| 色婷婷久久久| 日本五月婷婷| 国产精品扒开腿做爽爽爽A片唱戏| 成人在线日韩欧美| 大伊久久| 日本欧美成人片AAAA| 在线观看亚洲视频影院| 五月天激情网页| 久久精品99国产精品日本| 日本久久精品18| 天天爽天天爽视频| 国产又爽又猛又粗的视频A片| 五月婷久久| 六月婷婷中文字幕| 怎么样可以看免费的一级av| 久久五月六月| 日本天堂爱爱| 五月丁香婷婷婷激情爱爱| 天天碰天天插天天操| www.夜夜操.com| 日韩综合网络男女香蕉a片| 精品人妻久久久久| 亚洲天堂AV综合网| 激情五月婷婷综合网| 欧美大片免费播放器| 激情五月天丁香| 国産精品| 天天射美女| 97热在线精品| 综合性爱网| 亚洲va欧美va天堂v国产综合| 久久天堂女人| 色噜噜狠狠狠综合曰曰曰| 色色五月丁香婷婷| 激情五月天色色网| 91色逼| 99色中文| 六月婷婷av| 色色五月丁香婷婷| 丁香五月色色| 色婷婷网| 99精品在线| 大香蕉免费9| 欧美丁香五月| 婷婷五月综合色拍| 婷婷久久五月| 五月婷婷免费在线| 99操视频| 狠狠色丁婷婷日日,伊人激情综合网| 99操| 天天天天天操| 嫩草AV久久伊人妇女超级A| 开心婷婷五月花| 国外亚洲成AV人片在线观看| 亚洲精品色色色| 久久九九热38| 久久五月丁香| 97干视频在线| 丁香五月综合高清在线| 激情小说五月天| 99热这里精| 日韩不卡123| 婷婷丁香五月天中文字幕| 狠狠色婷婷综合开心影视| 婷婷瑟瑟五月天| 精品网站:999WWW| 久久精典| 91艹人| 黄色网址五月婷婷| 婷婷五月在线视频| 97干在线| www.91av.com| 99热在线这里| 色啪综合| 精品成人无码A片观看香草视频| 久久这里只有精品07| 丝袜熟女一区二区三区| 看片视频在线免费日产在线看| 久久久久久久久99精品| www.超碰在线| 操熟女成人网| 国产老熟妇亲子乱对白| 激情综合网激情五月天| 激情综合网激情五月网| 最近中文字幕在线中文视频| 玖玖资源在线视频| 99啪| 99久久婷婷国产综合精品电影| 婷婷五月天综合久久| 色婷婷黄色网络| 狠狠爱青青草| 99ri在线视频| 五月开心婷婷| 五月婷在线观看| 久久综合久色欧美综合狠狠| 99狠狠| 噜色精品| 狠狠狠狠狠狠色| 午夜69成人做爰视频| 日本色色网站| 色国产五月| www.五月婷婷.com| 色吧综合网| 噜噜视频| 99视频在线观看欧| www.jiujiujiu| 久热99视频在线观看| 成人五月天丁香| 久久精品亚洲一级牲爱综合| 91精品久久久久久77777| 丁香婷婷浪潮AV久久综合| 99热这里只有精品3| 婷婷五月开心中文字幕色| 婷婷 丁香 久久| 91久久| 成人丁香五月天| 色欲婷婷夜夜| 在线你懂的亚洲欧| 五月天丁香久久综合 | 爱草视频在线| 超碰人人超碰| 99热九九九九| 免费观看全黄做爰的视频| 超碰97干| 久久久久这里只有精品| 久热这里只有精品在线观看| 7超碰自拍| 亚洲无码九九九| 99热10在线高清播放| 国产日比| 91婷婷色五月| 亚洲综合色色| 99热久草| 久久6这里只有精品| 99re66热这里只有精品| 伊人玖玖综合| 亚洲成人在线观看网址| 成人做爰高潮A片免费视频| 国产精品美女| 香蕉综合在线| 五月丁香久人妻中文| 丁香五月天天高清在线| 五月丁香六月合| 色情·com| 五月婷婷色播视频| 激情四射网| 九九婷婷综合| 《久久综合九色综合97婷婷| HD久久精品视频| 色九九中文字幕| 婷婷六月丁香五月图区| 伊人综合网站| 在线观看国产高清视频免费网站| 狠狠色色| 五月丁香六月色| 五月丁香啪啪激情| 久九色| 天堂在线9| 97人凄人人操人人爽| 精品久热69| 停停五月色宗合| 五月天狠狠| 婷婷五月天视频免费在线观看| 另类激情五月天| 99精品在这里| 99这里都是精品6| 激情五月天偷拍综合网| 五月花亭亭| 五月婷婷丁香社区| 丁香五月激情网| 五月天婷婷AV| 67194成I人在线观看线路1| 精品成人在线观看| 亚洲a色| 99在线免费视频| 日本人妻伦在线中文字幕| 久久AAAA片一区二区| 9热超碰| 97色碰碰公开视频| 国产免费av在线| 国产精品色婷婷99久久精品| 色香蕉影院| 九九视频网| 五月婷婷在线网站| 丁香五月亚洲综合| 人人草人人爱手机视频看看| 五月天亚洲综合网| 欧美日韩成人在线观看| 五月天精品视频| 99熟女| 色爱爱综合网| 伊人五月婷婷国产视频| 91人人爽狠狠狠| 五月天色婷婷激情综合| 久久九九99亚洲国产久精综合| 狠狠操天天日| 婷婷五月天狠狠搞干| 女婷久久| 天天天天操| 国产一级黄色影片,| 伊人婷婷五月天av| 久久婷婷六月| www.俺去也com| 激情六月丁香| 激情五月丁香五月| 国内久久婷婷| 99在线观看视频精品| 五月天激情小说网| 9九九久久精品无码专区| 大香蕉啪啪啪啪啪啪| 色五月成人| 国产日日操夜夜操的肉棒视频| av人人干| 丁香五月天堂网| 欧美日韩成人综合9| 超碰91人人操| 五月丁香六月激情综合在线| 天天干夜晚夜操| 午夜婷婷| 五月天伊人久久| 亚洲综合激| 夜夜撸天天操| 五月天综合网| 99色在线视频观看| 丁香六月天AV| 亚洲第一综合| 五月丁香影院| 九九热re99re6在线精品| 六月激情久久婷婷| 伊人五月天| 成人做爰高潮A片免费视频 | 五月丁香啪啪啪啪| 色色色色色色97| 丁香五月成人网| 色婷小说| 色播播之激情五月婷婷| 五月丁香综合激情| 国产精品第一国产精品| 婷婷综合九月| 手机看片日日做夜夜| 丁香六月色婷婷| 99热xx| 九九热这里有精品23| 丁香五月天视频| 99日热在线视频| 色播五月婷婷综合| 亚洲熟妇无码乱子AV电影| 久久久亚洲精品一区二区三区浴池| 任你日视频| 成人九九视频| 丁香六月婷婷综合| 亚洲成人高清在线| 久热网在线视频| 国产精产国品一二三在观看 | 欧美色性色好| 成人做爰黄A片免费看直播室男男| 五月天婷婷色在线视频免费观看| 激情综合五月天| 久婷婷视平| 狠狠干激情五月| 天天插天天射| 成人在线精品| 亚洲综合婷婷五月天| 熟妇人妻中文字幕无码老熟妇| 97人人草| 97资源欧美日韩大香蕉超碰一区| 超热久碰.com| 五月婷婷欲色| 日本不卡一区二区三区| 色情·com| 九九九九毛片| 日本3级片偷拍网站| 一起草性爱不卡视频| 婷婷色资源| 婷婷中文字暮| 九九热青草| 久久 这里只有精品1| 午夜一区| 久久五月天大美女| www.超碰在线| 五月天婷婷色在线视频免费观看 | 色婷婷天堂| 91九色中文字幕女在线观看| 欧美日韩精品一区二区三区钱| 色色COm| Aα在线免费观看| 五月天久久综合婷婷丁香| 久久日婷婷| 色99视| 丰满人妻妇伦又伦精品国产| 亭亭色天香| 婷婷丁香五月天综合激情| 婷婷五月天激情影片| 国产精品男人AV不卡|