亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

Cesium航線規(guī)劃全解析:從坐標(biāo)轉(zhuǎn)換到動態(tài)飛行實現(xiàn)

Cesium航線規(guī)劃全解析:從坐標(biāo)轉(zhuǎn)換到動態(tài)飛行實現(xiàn) 簡介面向無人機航線規(guī)劃與三維可視化場景這是一個基于 Cesium 三維地球引擎的可運行源碼包服務(wù)前端開發(fā)者和地理信息系統(tǒng)愛好者。項目復(fù)現(xiàn)大疆司空2的航線設(shè)計與動態(tài)渲染能力圍繞航點、航段和航線容器分層建模重點解決航線箭頭渲染嘗試過著色器與紋理貼圖最終改用離屏畫布生成帶透明通道的箭頭位圖再通過圖元與材質(zhì)接口綁定到折線幾何體沿航段切線方向動態(tài)調(diào)節(jié)箭頭大小與顏色。包體很輕量共3個文件約8KB包含可直接運行的 HTML 頁面以及環(huán)境配置與忽略規(guī)則文件適合快速打開驗證或嵌入現(xiàn)有項目。源碼按模塊組織覆蓋坐標(biāo)轉(zhuǎn)換、航跡解算、碰撞檢測等核心邏輯關(guān)鍵函數(shù)配有注釋還支持外部地理數(shù)據(jù)導(dǎo)入、網(wǎng)絡(luò)通信指令下發(fā)和三維剖面聯(lián)動。目前已有50人學(xué)習(xí)下載對需要借鑒 Cesium 自定義圖元與航線可視化的開發(fā)者這是一份濃縮排錯思路的可運行樣例。1. Ceisum航線規(guī)劃先弄明白這標(biāo)題到底在說什么先糾正一個拼寫標(biāo)題里的 Ceisum 基本可以確定是 Cesium 的筆誤搜這個關(guān)鍵詞的人九成是在找三維地球里的無人機/飛行器航線規(guī)劃 Demo。這類需求最常見的場景是給出幾個航點在地球上用一條線把路徑畫出來再讓一架小飛機模型沿著這條線飛同時相機跟著走。很多人以為這活兒的難點在“畫線”真正動手后才發(fā)現(xiàn)核心問題是坐標(biāo)轉(zhuǎn)換、時間軸驅(qū)動和姿態(tài)計算——而這些恰恰是 Cesium 里最容易翻車的三塊。這篇筆記我按自己做航線規(guī)劃 Demo 的順序來寫先講底座原理再給最小可運行代碼然后調(diào)參數(shù)、避開常見坑最后補上動態(tài)數(shù)據(jù)驅(qū)動的進階玩法。如果你正要給某個巡檢系統(tǒng)做航線展示或者剛拿到一個“航線規(guī)劃源碼包”卻看不懂它在跑什么建議順著章節(jié)一步步過一遍代碼可以直接抄。2. Cesium 航線規(guī)劃的底座坐標(biāo)、Entity 與 Property航線規(guī)劃在 Cesium 里的本質(zhì)是把一串 WGS84 經(jīng)緯度坐標(biāo)變成三維空間里的點序列然后交給某個 Entity 去繪制或驅(qū)動。這三件事分別對應(yīng)坐標(biāo)體系、Entity 體系和 Property 體系。搞不懂這三層后面所有代碼都是懵的。2.1 坐標(biāo)系為什么經(jīng)緯度不能直接拿來畫線Cesium 的默認數(shù)據(jù)是 WGS84 橢球體地理上我們用經(jīng)度、緯度、高度單位米描述一個點。但這個描述方式不能直接用于三維渲染——圖形引擎需要的是地心笛卡爾坐標(biāo)Cartesian3也就是以地球中心為原點的 X/Y/Z 坐標(biāo)。所有實體對象的 position、polyline 的 positions接收的都是 Cartesian3 或它的數(shù)組。// 錯誤示范直接把經(jīng)緯度塞進去 polyline: { positions: [[116.39, 39.9], [116.41, 39.91]] // 這樣不會報錯但畫出來是亂的 } // 正確做法先轉(zhuǎn)成 Cartesian3 const positions Cesium.Cartesian3.fromDegreesArray([ 116.39, 39.9, 116.41, 39.91, 116.43, 39.92 ]);這就是新手最常見的第一個坑經(jīng)緯度和世界坐標(biāo)混用。fromDegreesArray 是按 [經(jīng)度, 緯度, 經(jīng)度, 緯度...] 的扁平數(shù)組解析的不是二維數(shù)組也不是 [緯度, 經(jīng)度] 的在地圖服務(wù)里常見的順序。我一般會在代碼里寫死順序并用注釋標(biāo)清楚避免后面數(shù)據(jù)接入時被帶著走偏?;氐皆磉@些 Cartesian3 坐標(biāo)是相對地心的單位是米。地球半徑約 6371 公里所以如果你把坐標(biāo)直接拿來當(dāng)作平面 XY 用畫出來的線會橫穿地心而不是貼在地表。這就是為什么有人看到航線“穿地”或者“飛到大洋彼岸”——不是地球模型錯了是坐標(biāo)用錯了。2.2 Entity 體系適合業(yè)務(wù)開發(fā)但要知道它怎么更新Cesium 有兩套渲染 APIPrimitive 和 Entity。Primitive 貼近底層性能好但代碼繁瑣適合大批量數(shù)據(jù)Entity 面向業(yè)務(wù)數(shù)據(jù)驅(qū)動寫起來像操作普通對象航線規(guī)劃這種規(guī)模的數(shù)據(jù)完全夠用。我自己的習(xí)慣是航線繪制、飛行模擬、相機跟蹤全用 Entity 實現(xiàn)除非一次性要渲染上千條航線才會去考慮 Primitive 的 polyline collection。Entity 的另一個關(guān)鍵點是 Property。很多人第一次看到 CallbackProperty 不理解它其實是一個“每次渲染時重新取值”的函數(shù)這樣你就能讓實體動態(tài)變化。比如航線要隨某個狀態(tài)實時刷新就可以用它。// 動態(tài)刷新航線每次渲染都取最新的坐標(biāo)數(shù)組 const dynamicPositions new Cesium.CallbackProperty(function () { return latestPositions; // 外部變量更新后直接生效 }, false); viewer.entities.add({ polyline: { positions: dynamicPositions, width: 2 } });第二個參數(shù) false 表示這個回調(diào)不是常量每次渲染都要重新計算。如果誤寫成 trueCesium 會認為結(jié)果恒定不變后續(xù)更新就再也不生效了。這是很多人“數(shù)據(jù)變了但線不動”的原因。2.3 讓飛機按時飛起來SampledPositionProperty 與時鐘畫線只是靜態(tài)結(jié)果航線規(guī)劃的重點是飛行過程。飛行意味著位置隨時間變化Cesium 為此提供了 SampledPositionProperty它像一個采樣表把“時間點 → 坐標(biāo)”成對存進去渲染時按當(dāng)前時鐘插值出中間位置。配合 Cesium 自帶的時鐘系統(tǒng)就能精確控制起飛、飛行、降落的過程。const property new Cesium.SampledPositionProperty(); // 每個航點綁定一個時刻單位是 JulianDate property.addSample(Cesium.JulianDate.fromDate(new Date(2024-01-01T00:00:00Z)), Cesium.Cartesian3.fromDegrees(116.39, 39.9, 100)); property.addSample(Cesium.JulianDate.fromDate(new Date(2024-01-01T00:00:10Z)), Cesium.Cartesian3.fromDegrees(116.41, 39.91, 150)); // 把它賦給實體的 position實體就會按時間走動 entity.position property;SampledPositionProperty 的效果取決于兩個因素采樣點的時間間距以及插值方式默認線性。這兩個參數(shù)直接影響飛行速度曲線后面第 4 章我會單獨說怎么調(diào)。3. 跑通第一版最小可運行的航線繪制與飛行 Demo這章給一套能直接落地的代碼結(jié)構(gòu)。我習(xí)慣把這類 Demo 拆成三個文件HTML 容器、JS 邏輯、JSON 數(shù)據(jù)。數(shù)據(jù)獨立出來方便后面接真實航點。3.1 工程結(jié)構(gòu)三個文件跑起來先說運行時依賴你需要一個可用的 Cesium 庫。開發(fā)環(huán)境用 npm 安裝或 CDN 引入都行我圖省事常用 CDN版本鎖在一個大版本上避免 API 漂移。這里不寫死版本號你按自己項目里已裝好的來。!-- index.html -- !DOCTYPE html html langzh-CN head meta charsetUTF-8 / title航線規(guī)劃 Demo/title style html, body, #cesiumContainer { width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; } /style link hrefhttps://cdn.jsdelivr.net/npm/cesiumlatest/Build/Cesium/Widgets/widgets.css relstylesheet / /head body div idcesiumContainer/div script srchttps://cdn.jsdelivr.net/npm/cesiumlatest/Build/Cesium/Cesium.js/script script src./flight.js/script /body /html這里要說明Cesium 的窗口部件 CSS 和核心 JS 都必須正確引入否則頁面只有動畫邏輯但地球渲染不出來。如果你的項目里有自己的構(gòu)建流程建議直接用 import 方式CDN 方案適合快速驗證。數(shù)據(jù)文件 flight-data.json 存航點格式我這樣定義{ name: demo-route, startTime: 2024-01-01T00:00:00Z, points: [ { lon: 116.39, lat: 39.9, height: 100 }, { lon: 116.41, lat: 39.91, height: 150 }, { lon: 116.43, lat: 39.92, height: 200 }, { lon: 116.45, lat: 39.90, height: 120 } ] }字段含義lon 是經(jīng)度lat 是緯度height 是海拔高度米。startTime 是飛行起始時間后面會用程序計算每個航點的到達時刻。數(shù)據(jù)組織成數(shù)組而不是扁平結(jié)構(gòu)是為了可讀性——讀取時再轉(zhuǎn)成 Cesium 需要的扁平坐標(biāo)數(shù)組。3.2 繪制靜態(tài)航線三行代碼的事接下來寫 flight.js。第一步加載數(shù)據(jù)并把航點轉(zhuǎn)成 Cartesian3 數(shù)組然后用 Entities 添加一條 polyline。// flight.js const viewer new Cesium.Viewer(cesiumContainer, { animation: true, // 顯示動畫控件 timeline: true, // 顯示時間軸 baseLayerPicker: true, geocoder: false, sceneMode: Cesium.SceneMode.VIEW_2D // 可選先二維后三維默認三維 }); async function loadRoute() { const res await fetch(./flight-data.json); const data await res.json(); const cartesianPositions data.points.map(p Cesium.Cartesian3.fromDegrees(p.lon, p.lat, p.height) ); viewer.entities.add({ name: route-line, polyline: { positions: cartesianPositions, width: 4, material: new Cesium.PolylineGlowMaterialProperty({ color: Cesium.Color.fromCssColorString(#00ff88), glowPower: 0.2 }) } }); } loadRoute();這段邏輯看著簡單但有幾個點容易踩positions 必須是數(shù)組而且每個元素都要是 Cartesian3否則實體創(chuàng)建時不會報錯但渲染時可能整條線消失。width 的單位是像素不是世界單位所以大地球縮小時線會顯得很粗這在做標(biāo)繪系統(tǒng)時要留意。用 PolylineGlowMaterialProperty 是為了讓航線有發(fā)光效果巡檢演示時比純顏色更能突出重點生產(chǎn)環(huán)境如果線很多建議換回純顏色材質(zhì)減少渲染開銷。3.3 讓飛機飛起來SampledPositionProperty 與時鐘設(shè)置靜態(tài)線畫完現(xiàn)在加飛行。思路是這樣把 flight-data.json 里的每個航點按順序分配一個到達時間比如每兩個航點之間間隔 10 秒然后把這些時間-坐標(biāo)對塞進 SampledPositionProperty。async function initFlight(data) { const start Cesium.JulianDate.fromIso8601(data.startTime); const timeStep 10; // 每個航段飛行秒數(shù) const posProperty new Cesium.SampledPositionProperty(); posProperty.setInterpolationOptions({ interpolationDegree: 1, interpolationAlgorithm: Cesium.LagrangePolynomialApproximation }); data.points.forEach((p, i) { const time Cesium.JulianDate.addSeconds(start, i * timeStep, new Cesium.JulianDate()); const position Cesium.Cartesian3.fromDegrees(p.lon, p.lat, p.height); posProperty.addSample(time, position); }); // 設(shè)置 viewer 的時鐘范圍讓動畫可以從頭播到尾 const stop Cesium.JulianDate.addSeconds(start, (data.points.length - 1) * timeStep, new Cesium.JulianDate()); viewer.clock.startTime start.clone(); viewer.clock.stopTime stop.clone(); viewer.clock.currentTime start.clone(); viewer.clock.shouldAnimate true; const flightEntity viewer.entities.add({ position: posProperty, point: { pixelSize: 8, color: Cesium.Color.YELLOW }, // 如果想用模型替換點取消下一行注釋并準(zhǔn)備好 glb 文件 // model: { uri: /models/CesiumMan.glb, scale: 1.0 } }); viewer.trackedEntity flightEntity; } loadRoute().then(() { // 重新讀取一次數(shù)據(jù)傳給飛行初始化 fetch(./flight-data.json) .then(r r.json()) .then(initFlight); });這段代碼里有三個容易出錯的地方。一是 clock 必須顯式設(shè)置 startTime 和 stopTime否則默認時鐘區(qū)間可能不覆蓋你的采樣時間飛機會一直在初始位置不動。二是我把 viewer.clock.currentTime 設(shè)成 start保證動畫從起點開始而不是從系統(tǒng)當(dāng)前時間開始——這個細節(jié)很多人漏掉結(jié)果飛機直接消失或瞬間跳到終點。三是 setInterpolationOptions 里面的 interpolationDegree: 1 表示線性插值配合 LagrangePolynomialApproximation 是 Cesium 里最常見的組合如果采樣點過多degree 設(shè)高了反而會造成震蕩后文會有具體說明。3.4 相機跟蹤讓視角跟著航線走飛行實體創(chuàng)建完成后把 viewer.trackedEntity 指向它相機就會自動跟隨。但這種跟隨默認是“從外看目標(biāo)”如果你想做成第一視角像坐在飛機上需要改一下相機模式viewer.scene.preUpdate.addEventListener(() { const pos flightEntity.position.getValue(viewer.clock.currentTime); if (!pos) return; if (viewer.camera.positionCartographic.height 50) { viewer.camera.lookAt(pos, new Cesium.HeadingPitchRange(0, Cesium.Math.toRadians(-45), 0)); } });這段是臨時方案隨著時鐘推進持續(xù)把相機對準(zhǔn)飛機位置。注意我沒用 viewer.trackedEntity 而是手動 lookAt是因為某些版本里 trackedEntity 的默認跟隨方式是第三人稱的切第一視角要么改 viewer.scene.screenSpaceCameraController 的 enableInputs要么這樣手動控制。生產(chǎn)系統(tǒng)里建議用 Camera.lookAtTransform 配合固定距離實現(xiàn)平滑跟隨但 Demo 階段這樣夠直觀。4. 讓航線規(guī)劃真正可交付速度插值、姿態(tài)與樣式參數(shù)能飛只是開始。真實的航線規(guī)劃 Demo 要能回答三個問題飛多久、怎么轉(zhuǎn)向、姿態(tài)如何變化。這章把時間、插值、朝向和地形這幾個必調(diào)參數(shù)說清。4.1 速度與時間換算航段間隔怎么設(shè)才自然上一節(jié)的 timeStep 我寫死成 10 秒。真實業(yè)務(wù)中航點之間的地面距離不同用固定時間間隔會導(dǎo)致速度忽快忽慢。正確做法用航點間的大地距離除以期望速度得到每段耗時。function computeSegmentDuration(p1, p2, speedMps) { const carto1 Cesium.Cartesian3.fromDegrees(p1.lon, p1.lat, p1.height); const carto2 Cesium.Cartesian3.fromDegrees(p2.lon, p2.lat, p2.height); const distance Cesium.Cartesian3.distance(carto1, carto2); return distance / speedMps; } // 用法 const speedMps 15; // 15 米/秒 data.points.slice(0, -1).forEach((p, i) { const t computeSegmentDuration(p, data.points[i 1], speedMps); // 累加到你自己的時間序列里 });這里我用的是空間直線距離沒考慮地球曲率和地形起伏。航點間距很小幾百米內(nèi)時誤差可忽略如果跨省飛行建議改用 Cesium.EllipsoidGeodesic 計算測地線距離否則算出來的耗時偏短。另外速度單位務(wù)必統(tǒng)一——代碼里是米/秒如果需求文檔寫的是公里/小時除以 3.6 再進來這種低級換算錯誤我?guī)腿伺挪闀r遇到不下三次。4.2 插值方式線性、樣條與代碼切換第 3.3 節(jié)里我用了 degree: 1 線性插值。把它換成樣條只需要改一個配置posProperty.setInterpolationOptions({ interpolationDegree: 3, interpolationAlgorithm: Cesium.HermitePolynomialApproximation });兩種方案差異插值方式degree特性和適用場景典型問題線性插值1航段直來直去速度恒定適合航線簡單、路徑就是直線的情況轉(zhuǎn)角處拐得很硬軌跡有折痕三次樣條/厄米特3軌跡平滑轉(zhuǎn)彎自然適合模擬真實飛行可能過沖航線可能沖出航點范圍我自己的習(xí)慣做航跡回放或航線預(yù)演用線性就夠因為要忠實還原設(shè)計航線做“仿真飛行”或無人機表演一類需求才換三次樣條。注意樣條過沖不是 bug——數(shù)學(xué)上這是插值函數(shù)的固有行為你需要檢查插值后的軌跡是否穿山或離地太近。驗證辦法是把時間分成小步長、逐個求 position 值打印出來對比。4.3 朝向與姿態(tài)讓機頭自動對準(zhǔn)前進方向只有位置變化的飛機在 Cesium 里看是“平移”的機頭不轉(zhuǎn)向很假。解決辦法是用 VelocityOrientationProperty 自動從位置屬性中計算速度方向再轉(zhuǎn)為朝向。const flightEntity viewer.entities.add({ position: posProperty, orientation: new Cesium.VelocityOrientationProperty(posProperty), model: { uri: /models/CesiumMan.glb, scale: 0.5 } });這段代碼把 orientation 與位置屬性綁定讓模型始終順著運動方向前進。這是最省事的方案但要承認它的局限它只根據(jù)速度向量算偏航和俯仰不管飛機本身的滾轉(zhuǎn)而且當(dāng)速度接近零時比如航點處懸停朝向會變得不穩(wěn)定因為單位向量方向不確定。如果你做的是四旋翼這種轉(zhuǎn)向其實是對的如果做的是固定翼需要自己寫 HeadingPitchRoll 的平滑函數(shù)而不是直接用 VelocityOrientationProperty。4.4 地形貼合為什么線會沉到山體里Cesium 默認的地形是橢球面不是真實地形起伏。你給的航點高度如果是相對地面的畫出來自然可能穿山。這時需要直接讓線貼合地形const polyline viewer.entities.add({ polyline: { positions: cartesianPositions, clampToGround: true } });clampToGround: true 可以讓 polyline 自動貼合地形表面。但兩個前提一是 viewer 已經(jīng)加載了地形數(shù)據(jù)比如 createWorldTerrain否則它貼的還是橢球面二是這個屬性對模型的 position 不起作用——模型位置始終是絕對三維坐標(biāo)不會自動吸到地形上。所以如果你的飛機模型要求貼著山坡飛必須在業(yè)務(wù)層算好高度再傳入別指望 Cesium 幫你處理。5. Cesium 航線規(guī)劃避坑5 個翻車場景與修復(fù)方案這章寫我實際調(diào)試中遇到頻率最高的 5 個問題。每條按“現(xiàn)象 → 原因 → 解決”展開有的不一定在文檔里寫明屬于經(jīng)驗型的坑。5.1 航線整條跑到地球背面去了現(xiàn)象加載完數(shù)據(jù)后視角切到目標(biāo)區(qū)域卻看不到航線縮到全球視角才發(fā)現(xiàn)線畫在了地球另一側(cè)。 原因絕大多數(shù)是經(jīng)緯度順序?qū)懛戳?。有人?xí)慣 [lat, lon]像某些地圖服務(wù)而 Cesium 的 fromDegrees 嚴(yán)格是 (lon, lat, height)。另一個常見誘因是 JSON 數(shù)據(jù)里字段名是 lat/lon但代碼讀取時寫成了 p.lat, p.lon。 解決在 fetch 數(shù)據(jù)后立即打印第一組坐標(biāo)做斷言。if (data.points.length 0) { const p data.points[0]; console.log(第一點: lon${p.lon}, lat${p.lat}, height${p.height}); if (Math.abs(p.lon) 180 || Math.abs(p.lat) 90) { console.error(經(jīng)緯度字段有誤檢查數(shù)據(jù)格式); } }這個斷言簡單粗暴能攔截大多數(shù)坐標(biāo)順序錯誤。我養(yǎng)成習(xí)慣任何外部經(jīng)緯度數(shù)據(jù)進來先做范圍校驗再轉(zhuǎn) Cartesian3。5.2 兩個航點之間畫出一條穿地心的直線現(xiàn)象航點明明在國內(nèi)畫出來卻是一條穿透地球內(nèi)部的直線兩側(cè)是陸地、中間是海洋。 原因positions 數(shù)組中混入了非法值比如 height 為 null 或字符串。fromDegrees 接收非法參數(shù)時不會拋異常而是返回一個 NaN 坐標(biāo)Cesium 渲染時把所有 NaN 點連起來就出現(xiàn)了看似“穿過地心”的線條。 解決構(gòu)造 Cartesian3 時統(tǒng)一用 Number 強制轉(zhuǎn)換并過濾掉無效值。const validPoints data.points .map(p ({ lon: Number(p.lon), lat: Number(p.lat), height: Number(p.height) || 0 // 沒有高度就按 0 處理 })) .filter(p !isNaN(p.lon) !isNaN(p.lat)); if (validPoints.length 2) { console.error(有效航點少于 2 個無法繪制航線); return; }這段代碼把“非法數(shù)據(jù)”攔截在進入 Cesium 之前。值得說明的是Number(p.height) || 0 有一個副作用如果高度字段是 0 也會被保留因為 0 是 falsy會變成 0不影響結(jié)果但如果你語義上要區(qū)分“未填”和“海拔 0”還是要單獨判斷字段是否存在。5.3 飛行實體一動不動或時間軸不走現(xiàn)象飛機已經(jīng)添加到 scene 里但點位實體就是不動點擊時間軸播放按鈕也沒反應(yīng)。 原因clock.currentTime 不在位置采樣的時間范圍內(nèi)。最常見的是忘了設(shè)置 clock.startTime / stopTimeCesium 默認時間范圍是當(dāng)前系統(tǒng)時間附近而你 addSample 的時間是 2024 年的固定值根本不在范圍里于是當(dāng)前位置查無數(shù)據(jù)實體停在初始點或者干脆不渲染。 解決顯式設(shè)置時鐘區(qū)間并檢查 shouldAnimate。viewer.clock.startTime start.clone(); viewer.clock.stopTime stop.clone(); viewer.clock.currentTime start.clone(); viewer.clock.shouldAnimate true; viewer.clock.multiplier 2; // 2 倍速播放調(diào)完代碼后在瀏覽器控制臺手動執(zhí)行 viewer.clock.currentTime.toString()跟數(shù)據(jù)里的采樣時間對比——如果時間范圍對不上飛行動畫一定出問題。這條排查路徑能省下大量“翻源碼查為什么不動”的時間。5.4 樣條插值后航線異常過沖、飛出屏幕現(xiàn)象把插值從線性換成 degree: 3 的樣條后航線變得不貼合航點甚至在轉(zhuǎn)折處沖出很遠。 原因樣條插值在數(shù)據(jù)點少尤其只有 3-4 個航點且航點間距不均勻時會產(chǎn)生龍格現(xiàn)象。這不是代碼 bug是數(shù)學(xué)特性。初學(xué) Cesium 的人遇到這個很容易懷疑插值實現(xiàn)有毛病其實方向錯了。 解決航點少于 5 個時建議繼續(xù)用線性點數(shù)較多且間距均勻時再用樣條。如果前后速度差異大先對采樣時間做均勻化處理。// 統(tǒng)一時間步長把總時長分成 N-1 等份不考慮實際距離 function uniformTimeSamples(points, totalSeconds) { return points.map((p, i) { const time Cesium.JulianDate.addSeconds(start, totalSeconds * i / (points.length - 1), new Cesium.JulianDate()); return { time, position: Cesium.Cartesian3.fromDegrees(p.lon, p.lat, p.height) }; }); }這個函數(shù)會把時間等分消除因采樣時間間距不一致帶來的樣條抖動。代價是速度不再恒定——遠距離航段顯得快。到底是“速度恒定”還是“路徑平滑”你要先想清楚需求再選。5.5 clampToGround 設(shè)置了線還是穿山現(xiàn)象代碼里寫了 clampToGround: true航線還是插進山體里。 原因clampToGround 只有在場景里有地形數(shù)據(jù)時才生效。如果 viewer 沒加載地形它貼合的“地面”就是橢球面在真實山區(qū)自然會穿山。此外這個屬性對樣式有要求使用 PolylineGlowMaterialProperty 時clampToGround 會失效因為發(fā)光材質(zhì)需要特殊渲染通道。 解決先確認地形是否已到位再檢查材質(zhì)類型。const viewer new Cesium.Viewer(cesiumContainer, { terrainProvider: Cesium.createWorldTerrain() }); // 繞開發(fā)光材質(zhì)與 clamp 的兼容問題 polyline: { positions: validPositions, clampToGround: true, material: Cesium.Color.fromCssColorString(#00ff88), // 不要用 Glow 材質(zhì) width: 3 }這條經(jīng)驗來自我自己趟過的泥某次做山區(qū)輸電線路巡檢展示線明明是 perching 狀態(tài)死活貼不了地排查一圈發(fā)現(xiàn)是材質(zhì)拖了后腿。所以涉及地形貼合時樣式越樸素越穩(wěn)妥。6. 進階玩法動態(tài)數(shù)據(jù)驅(qū)動與實時跟蹤走到這一步你的 Demo 已經(jīng)具備靜態(tài)航線、飛行模擬、相機跟蹤三個基本能力?,F(xiàn)在說說怎么把它從“演示版”推向“能接真實業(yè)務(wù)”。核心就一句話把航點數(shù)據(jù)從靜態(tài) JSON 換成外部輸入。6.1 把航點換成實時數(shù)據(jù)流實際項目里航點往往來自服務(wù)端——可能是無人機實時回傳的 GPS 軌跡也可能是后臺上傳的規(guī)劃航線。動態(tài)更新航線不需要重新創(chuàng)建實體只需要更新 positions 或 property 的數(shù)據(jù)源。// 輪詢接口每次 fetch 更新全局變量 let livePositions []; async function pollRoute() { const res await fetch(/api/flight/current); const data await res.json(); livePositions data.points.map(p Cesium.Cartesian3.fromDegrees(p.lon, p.lat, p.height)); } // 定時更新1 秒拉一次 setInterval(pollRoute, 1000); // 用 CallbackProperty 驅(qū)動航線 const liveLine viewer.entities.add({ polyline: { positions: new Cesium.CallbackProperty(() livePositions, false), width: 3, material: Cesium.Color.CYAN } });這段代碼中CallbackProperty 的 false 參數(shù)務(wù)必保留否則 Cesium 會緩存第一次的結(jié)果后面數(shù)據(jù)再變也畫不出來。輪詢間隔我寫的是 1 秒具體看你的后端數(shù)據(jù)頻率如果是無人機回傳通常 2-5 秒一個點是常態(tài)沒必要拉太頻繁。6.2 為已飛和未飛航段分段著色飛行過程中業(yè)務(wù)方通常希望看到一段分界綠色表示已飛過灰色表示尚未執(zhí)行。實現(xiàn)思路很簡單在飛行實體更新的同時根據(jù)當(dāng)前時鐘時間去截斷 polyline 的 positions。viewer.scene.preUpdate.addEventListener(() { const currentTime viewer.clock.currentTime; const upToIndex flightProperty.getNumberOfSamples() - 1; let activeCount 0; for (let i 0; i upToIndex; i) { const sampleTime flightProperty.getSampleTime(i); if (Cesium.JulianDate.lessThanOrEquals(sampleTime, currentTime)) { activeCount i 1; } } const activePositions []; for (let i 0; i activeCount; i) { activePositions.push(flightProperty.getValue(flightProperty.getSampleTime(i))); } flownLine.positions activePositions; });這段邏輯里有個效率隱患遍歷采樣點并重新構(gòu)建數(shù)組每次渲染都執(zhí)行。當(dāng)采樣點數(shù)量超過幾百時計算量開始明顯。更優(yōu)做法是在每添加一個采樣點時緩存當(dāng)前已飛集合而不是每次都重算。6.3 收起線結(jié)尾的幾句實在話回看這套方案真正決定它“能用還是玩具”的邊界有幾個數(shù)據(jù)來源是否真實、時間軸是否與業(yè)務(wù)時鐘同步、姿態(tài)是否適配機型。我做這類 Demo 的教訓(xùn)是永遠在產(chǎn)品側(cè)把坐標(biāo)和時間這兩條寫清楚不要直接在渲染層猜——猜來的時間軸會讓整個演示像一部按劇本演的戲一旦接真實數(shù)據(jù)就崩。所以我現(xiàn)在的習(xí)慣是每接手一個新航線項目第一件事就是在入口處加一段打印打印起始時間、結(jié)束時間、航點數(shù)、首個航點坐標(biāo)跑通了再去看三維效果。這個習(xí)慣幫我省下無數(shù)排查時間也推薦給你。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91老司机视频| 麻豆福利视频导航| 99色视频| 熟女人妻一区二区三区| 99色在线| 无码天天操| 人妻少妇精品| 曰韩香蕉97| 99re3这里只有精品| 日韩国产不卡在线视频| 中文字幕99999| 欧美中字不卡| 国产免费大片| 色哟哟511老熟女| 色亚洲欧美| 国产久久一区二区| 日本天堂网| 2020国产精品| 国产熟女乱论| 无码抄逼网| 精品亚洲黄色片 国产精品导航一区二区| 青青五月天| 成熟熟女国产精品一区二区| 亚洲中文字幕有码视频一区二区三区| 在线 亚洲 网爆 自拍| 99精品在线| 粉嫩av在线一区二区| 国产辣妈在线视频福利| 草草草视频在线免费看| 国产成人精品必看| 操啊国产| 免费A片三p视频| 色妇综合网| 人妻久久| 密臀视频三区免费网站| 亚洲黄片免费在线播放| 中文AV制服乱伦| 国产传媒日韩欧美| 婷婷五月花| 韩国一级婬片A片AAAAA| 天天日日舔舔| 大香蕉色网| 精品人妻一区二区乱码一区二区| 久干网| 丝袜视频一区二区在线播放国产中文| 天天综合影院91| 97干天天| 少妇色欲综合网2| 欧美亚洲韩国视频十五区| 欧美偷偷网| 91精品婷婷国产综合久久| 伊人久久亚洲色欲综合网站| 久久久精品| 美日韩男女操屄视频| 国产精品视频91久久| 国产天天看| 囯产操逼片| 欧美18 在线观看| 人妻精品一区二区三区| 国产精品69久久久久久久| 欧美 熟女 日韩| 青青伊人加勒比海| 999热日韩精品| www.人人摸在线视频| 九九久久久| 人妻一二三区| 五月天色色色| 欧美白嫩女HD| 这里都是精品| 国产精品亚洲无码| 久9热| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 亚州人妻| 91操熟女视频| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 青青久日| 蜜乳视频网站| 美女啊啊啊啊啊啊| 国产精品久久久久久无码红治院| 五月丁香激情综合网| 欧美国产日韩清纯唯美 | av黄图片在线观看| 51一区二区三区| 亚洲国产欧美日韩人妻日中文| 啊啊啊好舒服好爽啊啊啊视频| 夜草欧美| 国产精品ww久久| 加勒比在线视频一区二区三区| 激情色色| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 欧美久久婷| A一级色女| 亚洲毛片基地专区| 国产AV超爽| 10000部十八禁看电影| 校园激情狠狠四射| 日本操大逼| 95精品在线| 快播久久人人aV| 国产精品白丝在线播放| 久久黄色网址| 欧美激情在线观看视频| 五月天伊人| 成人久久精品| 91精品人妻偷情| 久久大香蕉| 日韩熟女视频二区| 国模不卡| 超碰99热中文字幕| 老司机午夜精品视频| 超碰成人国产| 激情文学亚洲| 婷婷亚洲综合| 97综合激情| 国产亚洲色婷婷久久99精品91葵花宝典| 日韩av熟女一区二区三区成人| 九久9精品| 91精品无码人妻系列| 亚洲天堂久| 丝袜剧情| 久久人妻少妇| 五月丁香六月婷| 亚洲爱爱视频一区二区| 欧美日韩电影成人在线| av东京热男人的天堂| 男女做爰猛烈动高潮A片免费应用| 国产不卡精品91| 性天堂| 综合网,亚洲,欧美| 欧美不卡在线一区二区| 中文字幕AV片| 亚洲精品a人片在线观看视| 亚洲激情色片| 免费啪啪一级视频| 日本久久久久久久久久| 无码人妻一区二区一牛影视| 青青欧美| 一级岛国大片| 日本 情色 1区2区3区| 强歼乱伦资源网| 亚洲欧美激情小说| 人人操av| 国产男女边吃边摸视频网站| 色踪合AV| 亚洲 欧美都市激情| 在线视频97| 国产60区。| 自拍大香蕉乱插| 91蜜臀人妻中文字幕在线| 国产伦精品一区二区三区在线观| 天天日天天干少妇日| 午夜性| 国产AV高清AV无码| 精品无码久久久久久久杏吧| 国产风韵犹存熟妇三区| 开心五月婷婷| 97摸视频| 免费看黄片现成| 日产123区精品免费观看| 999岛国大片| 人妻偷拍一区二区三区| 97在线观看免费| 国产欧美日韩在线观看麻豆传媒公司| 人妻丰满熟妇一区二区三| 夜夜爽夜夜摸夜夜操免费视频| 精品久久人妻成人网| 久操精品| 中文字幕午夜精品久久久| 国产一区二区三区中文字幕| 中文字幕精品资源在线| 久久伊人最新网址视频| 综合自拍| 很很很很操| 爽爽歪在线视频| 精品欧美А∨无码黑人大荫蒂 | 欧美成熟性爱精品| 蜜桃臀av一区二区| 96国产污污污丝袜| 中文字幕一二三区| 欧美99| 亚洲日韩美国人妻| 91亚洲综合| 久久人体一区二区| 60秒免费视频| 日韩中文字幕宗合在线| 五月天伊人| 五月天婷婷激情| 国产综合网站在线播放 | 天天日夜夜| 在线播放一级无码视频| 97精品一区二区视频| 加勒比综合a∨| 免费成人在线熟妇网| 国产怡红院| 91欧美高清| 精品国产片亚洲一区| 97精品熟女少妇一区| 国产91亚洲精品一区二区三区| 亚洲清纯综合| 97在线免费公开视频| 天天天天做夜夜夜夜做| 欧美综合在线91| 色噜噜人妻丝袜AV资源| 蜜臀精品1区2区| 少妇二级| 国产专区路线| 中文字幕乱码人妻一区二区三区,99精品| 十八禁视频网站| 青娱乐国产精品| 熟妇xxxxx性春色| 黄片www视频免费| 久久东京热久久| 欧美色网络| 久久婷婷成人综合色怡春院| 久久久久国色αv免费观看| 熟女露脸激情自拍视频| 天天色综合影视网| 欧美色就是色| 亚洲无码电影久久久| 性色亚洲| 欧美自拍偷拍综合图片| blacked精品一区国产| 成人性爱全视频观看| 日韩人妻无码精品系列| 67194无码不卡| 99www.bibizy香蕉资源国产一区二区三区高清| 欧美性,亚州色| 久久999久| 久9久9精品| 精品久久大胆人体| 一区超碰一区| 亚洲天堂男人的天堂| 中日韩免费看男女操逼大全| 五码视频在线观看| 69av一区二区三区| 国产精品熟女一区二区三区| 91丝袜视频在线观看| 9久久久久| 国产不良强奸视频免费看| 18禁精品网站在线看| 999精品乱码| 婷婷色网| 女人被添高潮免费视频| 黄色av一区二区在线| 大香蕉五月天婷婷| 色哟哟-国产专区| 国产十八禁视频| 欧美综合1性辶| 99婷婷一区二区| 久久久18禁| 97久久国产亚洲精品超碰热| 91这里只有精品| 国产51色综合久久免费| 亚洲人成色9999精品久久 | 91精品久久久| 狼人综合婷婷激情四射 | 成人三级片无码| 久久综合激情| 色综合加勒比四四季| 麻豆福利视频导航| 亚洲一区二区AV| 综合免费无码中文| 中文字幕加勒比海高清无码免费视频| 啊啊啊轻点在线观看| 俄罗斯及免费在线看| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 一区二区播放| 91伊人久| 人妻夜夜爽天天爽麻豆三区网站| 男人的天堂无码| 视频一区二区免费在线| 婷婷五月av| 国精综合一二三区影视| 超碰成人人人爽人人爽| 国内精品久久久久影院亚洲| 久久久久久久久久久久九| 91处女在线观看| 国产a级午夜毛片| 国产色图乱伦| 久久五月份| 久久综合中文国产| 日韩国产精品人妻无码久久久| 国模精品一区二区三区苹果色戒| 日本欧美一区二区三区免费| 日韩av熟女一区二区三区成人| AV中文字幕三四五| 天天操天天舔| 蜜臀无码一区二区| 欧美黑人精品在线播放| 国产热av| 午夜欧美女人操逼| 国产AV线| 三级三级三级日本99| 亚洲国产精品久久久男人的天堂| 91 欧美| 黄色片大香蕉| 综合大香蕉美。| 超碰人人操97碰| 1二区9| 国产曰批免费观看久久久| 伊人国产视频| 干婷婷综合网| 中文字幕一区二区三区人妻不卡 | 日韩偷拍色图| 久久久精品电影| 亚洲熟女综合| 女人被男人桶爽视频网站| 日日黄色三级网站| 日本亚洲熟女视频| 少妇精品| 91新在线欧美| 亚洲黄色网址视频| 精品人妻一区二区免费看| 伊人91| 人人妻人人爽一区二区三区| 视频二区美腿丝袜制服人妻欧美| 欧美黄色手机在线观看| 97超碰中文字幕| 黄久在线| 国产一区二区三区不卡手机在线| 久久东京热久久| 亚洲……91| 亚洲国产成人精品久久久国产成人一区二区 | 亚拍在线| 超碰免费在线| 亚洲欧美国产中文视频| 欧美天堂亚洲电影院一区在线播放| 秋霞无码av鲁丝片一区| 精品久| 日本精品一区二区中文字幕| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 日日骚一区二区三区| 国产做?爰片久久毛片?片美国| 亚洲图片视频小说| 98色网| 欧州色图区| 射欧美综合| 屁股久久久久久久久| 97超碰超| 一区二区三区 日韩欧美| 99热这里是精品| 操人妻逼91| 丝袜视频网国产90| 国产宅男宅女在线观看| 丁香五月婷婷基地| 青青草字幕AV| 大香蕉中文在线| 999精品国产高清一区二区| 国产高清精品福利| 精品九九九九九九九| 亚洲成人在线资源| 黄片免费久久久久久久| 俺去久久| 黄页网站成人免费| 国产精品美女在线一区| 91xingse| 96久久久久久久| 狠狠中文字幕| 97爱欧美| 怡红院成人视频| 中文字幕一区二区免费在线| 在线啊啊啊啊| 97超碰精品图片| 最新三级网址| 男人下部插入女人下部| 日韩一级免费性爱| 久久精9| 在线97视频| 欧亚在线视频| 日韩精品人妻中文字有码在线| 欧美色图亚洲色| 国产激情av女片自拍| 丝袜喷水在线| 欧美一级黄色免费专区| 男人亚洲91首页在线| 人妻天天爽夜夜爽2| 99久久久无码精品国产人| 国产青一二三| 中国农村熟妇毛片视频| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 亚洲情色一区综合| 亚洲97在线| 水野优香在线观看| 91女日逼| 色色色综合网| 不卡日本一区二区| 成年女人一区| 97爱综合| 99中出在线| 精品久久久久久久| 日韩在线视频1234| 日本孕妇一区二区视频操逼免费看 | 1769精品一区二区三区| 久久久天堂| 自拍偷拍2025在线观看| 后入式五六区| 久久这里只精品99re66图| 久久久9 9 9精品| 久久肏大逼| 97在线观看视频| 一区二区三区精品视频| 激情专区综合| 亚洲素人综合| 婷婷丁香五月综合| 91天天综合网| 人人爱夜夜爱| 日本狂喷奶水在线播放212| 欧美暴力猛交| 无码日韩网站| 狠日欧美| 青青草啪啪网| 精品国产肉丝袜在线拍国语| 欧美色图校园春色| 大香蕉一级黄色片久久| 99久久99久久免费精品蜜臀| 国产超碰AV在线精品| 3d成人精品一区二区| 91麻豆va国产精品| 很黄很污的免费网站| 大香蕉之青青草原| 九九热三级片| 伊人女女资源在线观看| 另类图片五月| 热热色综合网| 9久在线视频只有精品| 一个国产在线综合网站| 717影院理论午夜伦八戒| 天天做天天爽| 久久视频少妇美女| 人妻少妇精品| 囯产操逼片| 91麻豆天美国产欧美日| 亚洲视频一二区| 成人熟女区| 96精品久久| 日本成人A片免费看| 丁香六月综合激情| 欧美韩国你懂得在线 | 男人的天堂激情| 99在线精品观看视频中文| 乱伦熟女专区| 精品91摸| 奶水 人妻 哺乳 在线| 亚洲图片婷婷五月天| 天综合中文| 97 九色| 免费啪啪一级视频| 天天上日日上日韩精品| 久久男人| 欧洲精品区| 亚洲 中文 女同| 亚洲熟女中文字幕在线| 欧美日韩岛国大片在线观看| 嗯嗯啊啊视频一区二区三区| 色五月AV| 欧美第一页性| 热热色综合网| 色网综合网| 日韩av熟女一区二区三区成人| 九九亚洲视频| 久久一区二区三区入口| 99久久婷婷丁香| 四虎视频在线观看| 1024精品在线| 99热18| 嗯嗯不要 视频| 久草福利在线资源站| 久久久久ab| 欧美日韩啪啪电影| 97超碰逼| 欧美少妇性爱网站| 91成人久久| 亚洲中文国际强奸字幕| 欧美一品道| 日韩欧美亚洲一区二区三区影院| 啊啊啊在线看| 99ri在线视频| 97av在线观看| 欧美在线伊人色| www.亚洲黄色| 日日夜夜模| 五月天丁香婷婷综合网站| 国产精品九九| www.久久99| 91天天综合日韩欧美| 亚洲天堂区| 天天综合91| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 成人无遮挡毛片免费看| 国产精品2020| 啊啊啊97视频| 亚洲日韩熟女人妻高清在线| 91精品久久久久久77777| 国产免费久久精品99re韩国| 日本999精品| 精品二999| 麻豆区久久久久亚| 男人的天堂亚洲| 欧美少妇色图| 亚洲色欲天天人妻无码系列专区| 大黄片做爱的大的| 91蜜臀人妻中文字幕在线| 在线人人人人人人精品超 | 乳欲人妻办公室奶水| 97久久精品不卡| 色婷婷在线视频| 亚洲人妻中文在线视频| 大香蕉伊然在亚洲91| 99热思思| 精品高清一区二区三区三州| 91亚洲最新在线| 三上制服丝AV| 综合久久婷婷| 成人免费毛片| 自拍六区| 欧美在线中M| 成人五月香网在线| 黄片免费久久久久久久| 91无遮挡| 中文字幕一区二区三区四五区| 日韩欧美成人大香蕉| 91动漫操逼视频| 欧美精品宗合| 亚洲成人帖图| 二级久久网| 狂操嫩妻视频一区二区三区| 手机在线视频国内精品| 国产成人超碰在线| 91老司机视频| 亚州精品人妻一二三区| 日本淫穴在线| 97一区二区蜜臀| 久久五月视频| 大香蕉免费乱伦视频| 国产在线综合网| 91狠狠综合久久| 99热日| 国产农村妇女精品1区二区| 伊人久久艹| 思思在线免费视频| 日韩免费在线视频观看| 国产亚洲精品一区二区三区| 亚洲动态色图| 91美| 日日躁夜夜躁狠狠躁超爽| 色爽——AV| 亚洲综合九| 中文字日本乱码| 中文伊人大香蕉视频| 99操逼| 久久久久久AⅤ无码免费肉站| 日韩操逼HD| 18禁在线视频| 色哟哟AⅤ| 最新日本中文字幕| 亚洲成人激情小说视频| 亚洲国产精品成人久久蜜臀| 91黑丝在线| 91亚洲人| 亚洲成a人v欧美综合天堂下载| 神马午夜久久| 国产精品九九九| 少妇久久久久久久| 超碰78| 国产精品视频内谢女人| 亚欧免费观看视频| 亚洲无无码αⅴ每日更新| 亚洲国产成人7777| 人人看人人插| 91人妻中文| 亚洲欧洲国产综合av| 91free福利| 日本在线一二| 有码免费观看| 欧美熟妇亚洲版| 夜夜青青无码影院| 99色热| 亚洲色阁| αⅴ天堂| 五月天大香蕉| 97视频在线免费看| 大香蕉欧美日韩| 97天天在线| 亚洲少妇视频| 干我久操| 精品一区二区成人动漫| 天天操av懂色| 偷拍片久久| 欧美日韩欧美| 欧美一区二区日韩三区| 五月天黄色激情视频| 91一区二区| 欧美国产视频| 久久风骚城市人| 91欧洲国产成人久久精品网站| 免费福利视频中文字幕| 九九aV| 欧美色图片91| 欧美日韩妖精91com| 欧美人黑A片无码免视费| 熟女乱伦A| 天堂岛av| 四虎在线免费视频| 一区二区三区国产在线播放 | 久久久一热在线播放| 国产精品丝袜久久亚洲不卡| 91熟女在线| 日逼视频日本| 黄色AV影视| 国产成人精品午夜福利| 九九无码| 99久视频| 精品人妻一二三四区视频| 97爱爱爱| 五月丁香大香蕉| 无码男人天堂| 无码不卡八戒| 东京热激情视频一二三区| 国产女人9999| 久久午夜鲁丝片| 亚洲操操操| 久久久91福利姬| 久久国产在线一区二区| 丰满人妻一区二区三区| 九热超碰| 久久久免费的精品| 伊人一区二区三区| 男女无套 免费网站| 极品色www影院| 九九热精彩视频| 日本性感人妻91| 人妻天堂综合网| 欧美日韩亚洲少妇寂寞影院正在播放| 欧美性爱www免费版| 久久超碰免费的| 17c嫩草51久久91嫩草| 色五月婷婷在线| 91麻豆天美国产欧美高潮| 亚洲第一精品在线视频 | 日韩综合无码一区久久92| 99爱在线视频| 久久久999国产精品| 国模无码一区二区三区在线| 天天摸天天舔天天操| 91久久免费视频互動交流| 91色女| 尤物av网站免费在线播放| 久久大香蕉手机高清| 欧美天天干| 欧美日韩超碰在线| 日韩在线观看三级电影| 久久久98网站免费视频| 国产精品女aA片爽爽视频| 久久婷婷国产一区二区色| 中文字幕欧美丝袜07资源| 欧美图片偷拍| 欧美日韩国产成人高清| 五月天伊人| 中国一级操逼视频| 人妻熟女一区二区| 黄网色一区二区三区四区精品| 91碰碰| 综合激情五月天| 欧美综合亚洲综合| 欧美色图中文字幕| 隔壁邻居波多野结衣中文字幕 | 秋霞一集毛片观看| 97久久久精品| 人人射人人操人人摸| 欧美,日韩,中文,另类| 天天干天天拍| 偷拍偷窥与盗摄视频专区| 麻豆精品天美| 一区二区三区欧美激情| 91春色| 综合91网| 亚洲欧美国产va在线播放频| 校园春色美腿丝袜| 五月天婷婷成人网| 色淫网站优优视频| 一个人在线看的黄色电影网站| 日本三级A片网站com| 亚洲图片偷拍欧美| 天天干天天日天天射黄色| www.伪伪| 大奶的诱惑| 东京热精品97综合网| 精品国产精品一区二区| 99久久精品国产系列| 免费超碰97久久| 欧日韩不卡视.频| 免费无码国产精品v片在线观看| 激情文学亚洲| 97亚洲资源| 99精品久久| 二男一女成人A片| 色妇综合网| 午夜AV污污污| 骚乳在线| 日日夜夜狠狠| 美女写真| 免费视频在线一区二区不卡| 一二三四区电影| 精品国产72| 99热婷婷| aaaa少妇高潮大片| 人人操人人干xxx| 抽插亚洲无码| 国产吹潮女在线观看| 亚洲综合影视| 猛交交| 五月丁香综合激情| 国产自产自拍| 大香蕉乱级| 亚洲图片欧美色| 骚货操死你| 久湿久久| 久久夜夜夜| 极品粉嫩一区二区| av天堂影视中文在字幕在线中文| 午夜理论片在线观看免费| 国产中文字幕在线点播| 色图综合网| 色色九区| 男人天堂2019| 18+91网站| 欧美日韩国产色五月综合在线 | 女人 A一级| 国产无码高清操逼视频| 亚洲中文字幕精品一区| 欧美亚洲中文| 亚洲一区二区在线观看91| 精品视频久久| 妇女一区二区三区| 亚洲a色| 色图四区| 日本媚薬中文字幕在线| 欧美综色欧| 久9爱精品| 伊人国产AV| 亚洲精品九九九九九九| 中文字幕国产| 午夜传煤十二区精品| 麻豆色约约| 中文有码9| 超碰美国| 操国产逼| 日韩美女啪啪一区| 国产高清免费不卡av| 97在线观看播放视频| 91精品国产日韩欧美综合| 国语国产操逼伊人AV网| 人人干人人操人人..com| 五月天婷精品激情| www久| 日韩无码黄色片| 国产嫩草精品A88AV在线| v91av| 99ri在线视频| 超碰9 7女人 | 色噜噜狠狠色综无码久久合欧美| 秋霞一级视频在线观看免费| 韩国国产欧美情侣视频在线| 老女人老91妇女老热女| 天天综合网在线| 少妇内射www在线观看视频| 久草线上视频免费看| 天天操妹子| 人人么人人操| 欧美亚洲另类在线蜜桃| 色色国产| 久日91在线| 亚洲天天自拍| 日韩免费一级性爱视频| 丝袜剧情| 狼人综合婷婷激情四射| 亚洲男人的天堂网| 91宗合网| 日韩性爱1级片视频| 亚洲乱熟女一区二区三区大香蕉| 精品久久久九九九孕妇| 伊人伊人LD| 91精品网站| 欧美性爱日韩性爱| 亚洲人妻一区二区三区| 亚洲诱惑| 91视频综合网| 欧美性巨大╳╳╳╳╳高跟鞋| 久久五月份| 天综合网欧美| 91夜色| 国产CHASE男男GAYGA 毛多色婷婷| 极品五月天噜噜| 天天躁夜夜躁狠狠躁AV| 翔田千里A片一区二区| 国产福利小视频高清在线观看| 大香蕉色十月| 在线观看啊啊啊啊啊| 91国产操逼视频| 久久久久国产无av| 亚洲色图美腿丝袜| 欧美高清第一页| 欧美成va视频网站| 一区,二区,三区视频| 美女诱惑久久| 99热这里只有精品地址| 岛国人妻少妇av在线观看| 91 丝袜在线播放| 香蕉人人操tv| 亚洲97p| 国模无码人体一区二区三| 一区二区三区精品黑丝白丝酒店对鸡 | 夜草欧美| 精品一区二区国产日韩| 日韩三级视频一区二区三区| 中文熟女五十乱码在线| 91精品女厕偷拍视频| 中文字幕精品人妻丝袜| 少妇高潮九九九九| 久久日韩毛| 亚洲人妻精品一区二区| 99re国产中文字幕| 一级免费精品| 色久桃花影院在线观看| 人妻人人澡人人爽人人| 91大神精品长腿在线观看网站| 98一区二区精品| 亚洲欧美97| 丁香五月婷婷基地| 日本布卡一区二三区| 欧美顶级黄片AAAAA在线免费看| 四虎在线观看网站| 深夜国产一区二区三区在线看| 久久99手机免费视频| 夜夜草天天| 久久仑合| 6080YYY午夜理论片在线观看| 德国一二三不卡| 肏逼视频日本| 久久久久一本一区二区青青蜜月| 亚洲av成人精品一区| 九九九九88| 蜜乳中文字幕a在线| 亚洲狼狼干综合1| 国产一区二区成人av在线播放| 男人天堂站| 被男人吃奶很爽的毛片| 成人久久精品| 欧美人妻精品一区二区| 久久9999| 25国产精品免费观看| 欧美色图20p| 殴美综合色88| 国产精品极品美女视频| 色99在线| 思思视频免费看网站| 欧美资源| 久久久555| 国产精品色约约| 亚洲激情天堂网| 日本不卡三级网在线播放| 色婷婷综合网| 九九性爱网| 亚洲国产精品成人无码久久久| 人人操人人摸avav| 五月丁香亭亭| 日韩无码第3页| 国产精品熟女AV中文字幕在线播放| 五码视频在线观看| 亚洲男人天堂视频| 亚洲情色91| 一区二区三区 丝袜 高跟 美腿| av在线资源| 婷婷五月天激情网| 最新国产精品| 97超级欧美| 国产欧美亚洲精品a第2页| 网友自拍第1页| 美女高潮视频91| 国产熟女乱论| 亚洲欧美电影| 少妇人妻激情四射| 亚洲另类综合欧美| 免费的黄片有限公司| 亚洲AV人人澡人人爱| 口爆综合网| 性爱边摸边日免费AV| 91日韩国产欧美亚洲另类精盘州至城都| 激情露脸爱| 亚洲Av无码成人精品国产| 97亚洲精品| 欧美色图97| 蜜臀av中字字幕网站| 欧美亚洲日本视频久久久| 久久一区二区三区四区五区| 日本久久999| 99热超碰| 中文字幕黄色片| 日韩中文字幕国产| 九九九九九精品视频| 天天躁狠狠躁av| 九月丁香婷婷| 超碰久热| 福利在线观看一区二区| 亚洲一区在线观看欧洲| 午夜在线播放| 久久宗合97| 久久99精品九九久久久婷婷| 97青青操视频| 五月婷在线| 亚洲无码久久久久久久| 大香蕉www.超碰| 欧美激情一区| 97视频免费| 干妹子| 密臀视频一区二区三区| 九九热精品在线| 青草视频在线看看看看看看看看看| 岛国AB视频| 两女互慰AV高潮喷水在线观看| 久久激情婷婷| 男人的天堂99| 久久久999国产| 色偷偷综合91久久噜噜| 日日嗨AV一区二区夜夜| 四虎884a| 欧美精品91| 啊啊啊好湿久久| 麻豆天美久久91| 日韩乱码Av| 天天91~综合入口| 国产999精品久久久久久| 91一起操| 99色热| 999在线电影香蕉| 色哟哟的毛片| 2020中文字幕| 91原创在线观看| 美女啊啊啊啊pc| 不卡超碰护士AV在线免费播放| 亚洲美乱| 国产视频三区四区| 色婷婷综合久久久久中文一区二区| 混色激情av| 亚洲中文字幕乱码无码一区二区| 啊啊啊好湿国产一二| 欧美有码亚洲中文字幕一区二区三区四区| 久久最新免费视频23| 一二三啪啪专区| 无码人妻丰满熟妇奶水区毛片| 91色图片| 欧美一区二区三区黄色影视| 97视频新免费| 一区二区无码视频| 亚洲天堂男人网| 日韩性爱一级片| 国产一级137片内射麻豆| 日韩精品一区二区日韩| 无码在线亚洲| 激情五月综合网| 国产白领连续中出在线观看| 99热aaa| 俺也射| 色臀av| 超碰国产精品无码| 操我无码| 精品一区二区啪啪啪| 一及黄久一点| 青青草好吊| 91日韩| 国产女人和拘做爰视频| 91麻豆va国产精品| 神马视频久久久久久| 99色骚| 春色91| 亚洲伊人a线观看视频| 久久精品国产96精品亚洲拳交| 亚洲高潮少妇| 91美女在线视频| 综合亚洲网| av爱爱爱| 91人妻Pr| 97香蕉人人乳| 91精品在线播放| 强被迫伦姧在线观看无码网站| 日本欧美一区二区三区免费| 天天爱天天韩国日本牛牛牛牛| 日韩精品99久久久久久中文字幕| 四虎av在线| 日韩av电影成人在线| 久久久精品国产亚洲AV无码| 美女久久久久久久| 97人人色| 高清无码一区二区三区| 久久精品国产精品亚洲艾通辽熟妇| 熟女欧美日韩综合婷婷| 精品人妻一区二区三区不卡断 | 日本免费一区二| 欧美一品道| 久久超碰国产一区二区三区| 中文字幕在线日亚洲9| 亚洲少妇在线影音| 超碰在线一区二区| 国产自偷自拍一区| 成人久久精品| 国产又粗又大硬免费色网视频| 日韩精品在线观看网站| 国产青视频| 国产精品精品系列在线观看| 亚洲精品国产精品乱码不99| 色www精品视频在线观看| 精品人妻中文字幕高清| 色色综合网站| 亚洲少妇自拍中文字幕懂色| 国产日韩精品人妻久久久久色欲网站| 亚洲欧洲偷拍一区| 久区视频| 2020国产精品| 学生妹天天看| av在线观看不卡网站| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 精产国品一区二三产品| 超碰九7| 成人av免费观看| 91碰碰| 18禁的网站在线| 久草在| 操www| 欧美精品偷拍| 老子午夜伦不卡影院| 成人精品视频一区二区| 91精品国产91久久青草| 欧美综合骚| 91色拍| 青青草原狼av| 国产乱伦视频污| 厕所偷拍在线| 伊人国产成人av网站| 性色avv| 91国产操逼视频| 在线综合 亚洲 欧美中文字幕| 日本成a人v网站在线观看| 性欧美另类高清| 欧美91精品国产自产| 啊啊啊 在线观看| 水多多映视AV| 中文乱码99| 国产女同视频在线播放| 农村妇女精品一区二区| 午夜福利在线合集| 极品一区二区三区免费| 国产亚州日韩欧美看片| 加勒比综合在线| 伊人AAA| 亚洲中文字幕精品一区| 伊人991| 久久鲁干| 97干在线视频| 国产日韩精品一区二区三区| 在线人成亚洲视频免费观看| 天天内射| 99久久婷婷| 精品综合久久久久久五月天| 后入人妻一区| 日韩精品人妻一| 亚洲第一页综合在线| 大香樵伊人网| 涩综合导航| 亚洲精品不卡一二三区| 亚洲熟女中文字幕在线| 97天堂| 日本久久综合| 99性视频| 在线人成亚洲视频免费观看| 亚洲色图 综合| 免费A V在线| 亚洲色图欧美一区二区不卡| 9久久美女首页| 色欲久久综合| 极品综合| 插插综合网天天影视网| 亭亭丁香激情| 天天日天天干天天整| 屁股久久久久久久| 天天舔天天日天天射| 色色婷婷五月| 51久久夜色精品国产麻豆| 成人草草视频| 天天综合有色网| www.色操逼| 97无码视频在线播放| 少妇特黄一区二区三区| 午夜呻吟欧美| 不卡啪啪视频| 欧美激情性久久久久久| 高清无码91| 日韩美女高潮喷水视频| 韩日精品四区| 激情综合二| 12一15性XXXX粉嫩国产| 久久久久九九九九九| 磁力99AV| 黑操B| 一区二区娱乐网站| 爽极品影院| 蜜臀久久99精品久久久久久无删减 | 97超碰亚洲| 天综合中文| 日欧操屄视频| 园内精品自拍视频在线播放| 中文乱码字幕观看| 久热精品在线| 亚洲drav色图| 亚洲天堂自拍| 亚洲AV在线资源| 亚洲精品一区二区三区新线路| 中文字幕性感少妇av| 超碰成人公开| 亚洲黄色视频在线观看视频| 91殴美| 欧美大的香蕉有线电视视频| 九九人妻| 91高潮喷水美女| 国产丰满少妇久久久精品影院| 欧美九九爱| 欧美综合自拍成人自拍第二十页| 成人三级片无码| 欧美日韩性爱无码| 亚洲精品尤物yw在线影院| 国产偷人伦激情在线观看| 欧美91变态| 麻豆精品.欧美精品.日韩精品.| 中文字幕av片| 99热99re6国产在线播放| 国产视频大全| 青青青艹在线视频| 人妻酒店出差被中出免费在线播放| 很黄很污的免费网站| 日本伦理一区二区| 中文一区二区婷婷视频| 国产最新AV| 日韩99999色| 禁止观看美女黄| 久久综合日韩亚洲欧美| 一区=区三区视频| 成人精品视频一区二区| 午夜成人福利影视| 亚洲天堂自拍| 蜜臀AV成人精品蜜臀| 久久夜夜夜| 日韩亚洲97| 91久热| 啊啊啊爽爽| 夜草网站| 三级AV入口| 日本午夜操逼| 日本精品成人无码| 久久久久人妻| 熟妇高潮一区二区免费视频| 亚洲少妇诱惑|