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

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ū)動的進(jìn)階玩法。如果你正要給某個巡檢系統(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 的默認(rèn)數(shù)據(jù)是 WGS84 橢球體地理上我們用經(jīng)度、緯度、高度單位米描述一個點。但這個描述方式不能直接用于三維渲染——圖形引擎需要的是地心笛卡爾坐標(biāo)Cartesian3也就是以地球中心為原點的 X/Y/Z 坐標(biāo)。所有實體對象的 position、polyline 的 positions接收的都是 Cartesian3 或它的數(shù)組。// 錯誤示范直接把經(jīng)緯度塞進(jìn)去 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 會認(rèn)為結(jié)果恒定不變后續(xù)更新就再也不生效了。這是很多人“數(shù)據(jù)變了但線不動”的原因。2.3 讓飛機按時飛起來SampledPositionProperty 與時鐘畫線只是靜態(tài)結(jié)果航線規(guī)劃的重點是飛行過程。飛行意味著位置隨時間變化Cesium 為此提供了 SampledPositionProperty它像一個采樣表把“時間點 → 坐標(biāo)”成對存進(jìn)去渲染時按當(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 的效果取決于兩個因素采樣點的時間間距以及插值方式默認(rèn)線性。這兩個參數(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 是飛行起始時間后面會用程序計算每個航點的到達(dá)時刻。數(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 // 可選先二維后三維默認(rèn)三維 }); 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 里的每個航點按順序分配一個到達(dá)時間比如每兩個航點之間間隔 10 秒然后把這些時間-坐標(biāo)對塞進(jìn) 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否則默認(rèn)時鐘區(qū)間可能不覆蓋你的采樣時間飛機會一直在初始位置不動。二是我把 viewer.clock.currentTime 設(shè)成 start保證動畫從起點開始而不是從系統(tǒng)當(dāng)前時間開始——這個細(xì)節(jié)很多人漏掉結(jié)果飛機直接消失或瞬間跳到終點。三是 setInterpolationOptions 里面的 interpolationDegree: 1 表示線性插值配合 LagrangePolynomialApproximation 是 Cesium 里最常見的組合如果采樣點過多degree 設(shè)高了反而會造成震蕩后文會有具體說明。3.4 相機跟蹤讓視角跟著航線走飛行實體創(chuàng)建完成后把 viewer.trackedEntity 指向它相機就會自動跟隨。但這種跟隨默認(rèn)是“從外看目標(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)); } });這段是臨時方案隨著時鐘推進(jìn)持續(xù)把相機對準(zhǔn)飛機位置。注意我沒用 viewer.trackedEntity 而是手動 lookAt是因為某些版本里 trackedEntity 的默認(rèn)跟隨方式是第三人稱的切第一視角要么改 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 再進(jìn)來這種低級換算錯誤我?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)前進(jì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ìn)。這是最省事的方案但要承認(rèn)它的局限它只根據(jù)速度向量算偏航和俯仰不管飛機本身的滾轉(zhuǎn)而且當(dāng)速度接近零時比如航點處懸停朝向會變得不穩(wěn)定因為單位向量方向不確定。如果你做的是四旋翼這種轉(zhuǎn)向其實是對的如果做的是固定翼需要自己寫 HeadingPitchRoll 的平滑函數(shù)而不是直接用 VelocityOrientationProperty。4.4 地形貼合為什么線會沉到山體里Cesium 默認(rèn)的地形是橢球面不是真實地形起伏。你給的航點高度如果是相對地面的畫出來自然可能穿山。這時需要直接讓線貼合地形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ù)進(jìn)來先做范圍校驗再轉(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ù)”攔截在進(jìn)入 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 默認(rèn)時間范圍是當(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)折處沖出很遠(yuǎ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ù)會把時間等分消除因采樣時間間距不一致帶來的樣條抖動。代價是速度不再恒定——遠(yuǎn)距離航段顯得快。到底是“速度恒定”還是“路徑平滑”你要先想清楚需求再選。5.5 clampToGround 設(shè)置了線還是穿山現(xiàn)象代碼里寫了 clampToGround: true航線還是插進(jìn)山體里。 原因clampToGround 只有在場景里有地形數(shù)據(jù)時才生效。如果 viewer 沒加載地形它貼合的“地面”就是橢球面在真實山區(qū)自然會穿山。此外這個屬性對樣式有要求使用 PolylineGlowMaterialProperty 時clampToGround 會失效因為發(fā)光材質(zhì)需要特殊渲染通道。 解決先確認(rèn)地形是否已到位再檢查材質(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. 進(jìn)階玩法動態(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)是永遠(yuǎn)在產(chǎn)品側(cè)把坐標(biāo)和時間這兩條寫清楚不要直接在渲染層猜——猜來的時間軸會讓整個演示像一部按劇本演的戲一旦接真實數(shù)據(jù)就崩。所以我現(xiàn)在的習(xí)慣是每接手一個新航線項目第一件事就是在入口處加一段打印打印起始時間、結(jié)束時間、航點數(shù)、首個航點坐標(biāo)跑通了再去看三維效果。這個習(xí)慣幫我省下無數(shù)排查時間也推薦給你。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香五月激情在线| 99欧美| 男人天堂 久久| 2020日日干| 婷婷综合色色| 婷婷综合在线网| 男人天堂99| 草操网| 99视频日韩| AVDV久久| 五月停停丁香| 26uuu青青| 九色激情| 99精品亚洲| 伊人青草成人| 婷婷爱爱蜜臀天天操| a在线观看| 这里只有精品9| 超碰资源在线| 免费播放AV| 五月天婷婷在线AN| 99热天堂| 婷婷久久五月天| 五月婷俺去也| 99福利导航| 天天干天天拍| 欧美在线视频99| 五月婷婷啪啪啪啪| 激情影院免费视频婷婷五月天| 国内一级精品| 黑人熟妇一区二区三区| 婷婷五月天成人视频| 青青草成人网| 日日.c| www.99热. com这里只有精品| 婷婷九月丁香| 亚洲精品成人| 91成人品| 成人视频一区| 成人网站在线观看视频| 国产 亚洲 在线| 人人操人人妻| 99热黄| 五月激情综合网| 六月婷婷中文字幕| 一起草性爱不卡视频| www.夜夜夜| 91视频一起草| 激情综合啪啪| 色五月成人| 婷婷丁香五月久久| 五月天综合区| 丁香六月婷婷姐网| 噜噜精品| 大香蕉欧美在线| 五月激情丁香| 亚洲va欧美va天堂v国产综合| 五月婷人妻| 秋霞日本免费毛片A片| 91 影音先锋| 婷婷深爱五月| 无遮挡国产高潮视频免费观看| 亚洲热热视频| 99日韩| 婷婷五月丁香基地| 亚洲色综合| 久草热在线视频| 97久久人人操| 拍真实国产伦偷精品| 99热精品在这里| AV电影在线播放| 色色色干| 欧美电影在线播放| 97搞在线| 婷婷中文字幕网| 丁香五月色激情| 任你弄在线视频免费| 欧美成人精品A片免费一区99| 婷婷五月综合在线| 五月丁香亭亭激情操逼网| 538任你爽视频不一样的| 丁香社区婷婷五月| 丁香九月婷| 九色视频91疯狂| 99热在线观看精品| 婷婷激情五月天色| 五月婷婷av| 天天干天天做| 天天色综网| 超碰在线个人观看| 婷婷六月啪啪| 久久性爱视频| 播丁香五月婷婷欧美| 自拍视频99| 五月丁香六月婷婷亚洲综合| 日韩久久色| www.91.com黄| 亚洲亚洲人成综合网络| 日韩成人综合| 啪啪激情综合| 色色色色色色色色色999| 久久只这里有精品| www.91.com黄| 丁香五月婷婷国产av| 激情五月天福利| 99久久.www| 成人Av在线大片| 久热这里这里有精品| AAA亚洲AV| 91青娱乐青青草| 夜夜干夜夜操| 精品影院| 亚洲视99| 亚洲激情另类| 色婷婷丁香五月| 激情五月色综合| 99啪| 99视频久久久| 狠狠操狠狠操| 五月丁香亭亭A片| 成人AV在线网站| 丁香五月婷婷乱| 五月婷婷久久综合| 五月天婷婷免费| 深爱五月天 开心网| 伊人狠狠丁香婷婷综合尤物| 亚洲爱婷婷| 一个色的综合| 激情99| 国产在这里只有精品| 人人操99| 日本在线视频www色| 色女伊人| 丁香熟女乱| 激情五月六月婷婷综合啪啪| 成人在线日韩| Av性爱网| 婷婷久久综合久| 啊v视频在线观看| 婷婷五月六| 色五月婷婷在线观看第一页舔| 夜夜夜天天操| 亚洲精品99| 五月婷精品| 狠狠干无码| 色色色五月天婷婷| 亚洲色模骚货| 久久图色4| 国产XXXX搡XXXXX搡麻豆| 日韩在线9| 五月花在线观看视频| 先锋影音av色五月天资源站| 婷婷五月天熟妇| 超碰av在线| 色墦五月丁香| 男妓跪趴把舌头伸进我的嘴巴| 婷婷色婷婷亚洲成人| 欧洲综合视频| 另类色网| 人人操9| 噜噜噜色噜噜| 亚洲成人AV在线| 婷婷五亚洲| 果冻传媒A片一二三区| 五月天小说激情| 五月综合激情婷婷六月色窝| 我淫我色婷婷五月天激情四射| 深爱五月天婷综合| 五月婷婷激情在线| 五月丁香大相交| 五月丁香色婷婷久久| 久久婷婷久久| 大波美女VA网站| 精品人妻伦九区久久AAA片| 亚洲精99| 亚洲在线成人| 亚洲五月婷婷| 可以观看的AV| 97人人干| 丁香六月婷婷缴情欧美| 五月丁香成人| 亚洲综合在线网站| 五月香婷婷| 伊人六月无码视频| 九九综合网色全集 | 日韩中出视频| 超碰人人操人人干| 97干婷婷五月天| 99综合色色色| 婷婷五月天激情四射| 日本色婷婷综合| 九九成人电影婷婷| 久久综合婷婷| 九九视频这里只有精品| 五月丁香手机在线| 五月丁香偷拍| 图片区 小说区 区 亚洲五月| 久久aaaa片一区二区| 久久天堂婷婷五月| 午夜少妇在线观看视频| 日韩欧美成人片| 2014天天爽| 懂色av粉嫩av蜜臀av| 天天插综合| 五月丁香啪啪激情| 日韩AV成人电影| PORNY九色9l自拍视频成人| 99er精品| 五月丁香六月婷婷啪啪| 五月色丁香婷婷综合| 欧美色五月| 色五月视频无码播放| 五月丁香婷色| 色五月丁香五| 99热在线播放| 亚州色色色| 色五月丁香五月婷婷五月成人网| ss五月天激情| 欧美极品999| 97操碰在线97| 亚洲综合网在线| 色播婷婷五月天| 久久婷婷五月草视频| Av大香蕉| 亚洲无码99| 久久97| 色拍九九九| 午夜色婷婷| 涩涩五月天| 五月天婷婷色播| 色丁香婷婷| 婷婷视频在线碰| 久久伊人五月天| 天天久| 色色色.com| 九九热AV| 亚洲激情网| 五月婷婷|欧美| 天天肏在线视频| 丁香六月婷婷久久综合| 老司机日日夜夜青草| 亚洲操B| A A色色| 亚洲va欧美| 亚洲人人操| 久久婷五月综合色| 爱草视频在线观看| 天天狠狠色噜噜| 成人五月天婷婷| 免费黄色AV| ai97re99一本| 丁香六月av| 成人免费超碰| 综合网网欲色| 人人操人人干AV| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 深爱激情丁香| 激情六月婷婷| www。久久久久一b。Cc| 丁香五月综合狠狠| 久热爱大香蕉在线蜜臀悦色| 97色色综合| 婷婷五月天男人影院色色网| 五月婷婷激情久久| 99爱视频| 亚洲这里只有精品| 婷婷五月天影院| 国产成人+综合亚洲+天堂| 色五月激情网| 亚洲妇女熟BBW| 色色色欧美| A片试看120分钟做受视频红杏| 亚洲精品久久久久AV无码| 99综合视频| 国产一区二区三区影院| 婷婷五月丁香成人网| 丁香婷婷影院| 五月丁香啪啪综合| 操人妻90p| 五月激情综合五月| 九九热视频这里只有精品| 婷婷免费视频| 五月丁香亚洲综合| 综合色色五月| 五月婷婷丁香啪啪| 五五月丁香花激情综合网| 狠狠擼综合| 亚洲色vA| 五月丁香大香蕉| 可以看的av| 日本色色色色色色色色一色二色| 在线超碰91| 精品久久9| 第四色五月激情网| 99久热这里只有精品| 超碰97人人操| 狠狠婷婷综合| 久久婷婷五月天激情新地址| 97婷婷五月| 六月撸婷婷| 26uuu成人网| 天堂在线观看视频| 91色婷婷综合久久中文字幕二区| 色综合网综合| 99热官网精品在线| 色婷婷色五月综合| 思思久久96热在精品国产,| 婷婷五月天激情基地| 在线看片av| 中国丰满熟女A片免费观| .肏屄视频一区二区| 久久五月激情| 99热这里只有精品3| 91丨九色丨高潮丰满日本| 嫩草AV久久伊人妇女超级A| 青青草99re| 99自拍视频| 色激情五月| 这里只有精品免费视频| 国产性爱一级| 五月婷婷,六月丁香| 99这里有精品视频| 狠狠综合网| 色色色国产| 五月婷婷激情综合网| 久9综合| www色五月| 六月天六月婷| 国产毛片欧美毛片久久久| 婷婷五月天久久综合88| 丁香五月天视频在线播放| 一起草av| 婷婷丁香花五月天| 久久婷婷五月综合色丁香| 成人网在线观看视频| 久操激情| 色色亚洲| 天堂综合久| 九九热短视频在线观看| 精品无码久久久久久久久| 激情五月综合网最新| 久久色五月天综合网| 中文激情网| 久草视频一,二三四| 99热在线这里| 中文成人在线| 综合网五月| tingtingcaobi| 丁香五月综合激情久久潮喷| 夜夜骑夜夜撸| 午夜婷婷| 大香蕉手机视频| 超碰人人艹| 婷婷色六月| 丁香av网| 欧美丁香五月夫妻天| 亞洲自怕| 色婷狠狠| 六月婷婷九月丁香| 色日本综合| 99热99在线精品| 蜜乳中文字| 精品爱欲五| www 五月天 com| WWW.桔色成人.COM| 日韩AV色色色| 五月天丁香啪啪啪啪| 九九无码视屏| 色久99| 色色性爱视频| 另类专区在线| 色吧综合网| 99 热| 在线综合网| 五月婷五月婷伊人伊人五月婷| 久久五月丁香| 久久奄也去色色网站| 天天爽天天爽| 这里只精品热在线18| 中文字幕综合色| 欧美黄色AA片哗啦啦啦| 五月丁香欧美综合| 亚洲色色色| 狠狠操狠狠狠| 久久综合中文字幕| 五月丁香综合激情网| VA日本视频| 操操操97| 久久精品夜色噜噜亚洲a∨| 久操福利| 激情都市另类| 色噜噜五月天| 丁香五月 综合| 日本欧美成人片AAAA| 热久久视频99| 99视频久久| 激情五月天色播| 六月狠狠综合| 五月丁香综合激情| 婷婷五月丁香国产| www久久99| 涩综合在线| 伊人狼人干| 操逼巨乳91| 激情婷婷五月亚洲| 日本专区久久| 丰满女老板BD高清A片| 五月天 另类图片| 欧美三级黄色片久久| 丁香五月av| 五月综合色播播丁香婷婷| 婷婷五月大香蕉| 国产肥白大熟妇BBBB视频| 久久人妻伦理| 丁香 婷婷五月| 欧美婷婷丁香五月| 影音先锋91网站在线观看| 久久精彩视频| 另类激情五月| 激情五月第四色| 婷婷丁香五月天熟女丝袜| 亚洲操b| 久久免费婷婷视频| 综合激情综合啪啪| 丁香五月天激情| 五月天综合色| 色情终和网| 久9视频| 五月色天情| 色五月无码| av线电影| 日韩欧美性爱| 色综合激情图区| 超碰国产在线| 在线视频另类| 大香蕉久久婷婷| 色情免费视频播放| 综合激情综合啪啪| www.99热最新视频8| 丁香婷婷九月| 五月激情婷婷国产精品久久久久久| 全部老头和老太XXXXX| 91精品婷婷国产综合久久| 亚洲六月色| 激情婷婷五月黑人| 六月丁香啪| 超碰91av| 免费黄色视频网址| 久久精品系列| 五月激情六月宗合| 中文字幕人成乱码在线观看| 九九热婷婷| 天天综合图片| 伊人婷婷激情| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 成年人看Va免费视频| 免费国产VA国产免费| 激情四射网| 成年视频免费观看| 插逼综合网| 精品亚洲日韩99欧美片| 亚洲视频无| 91主播在线| 亚洲精品九九| 欧美激情久| 婷婷色五月天色色| 夜夜躁婷婷AV| 色综合九九| 超碰人人艹| 婷婷五月天黄色| 91精品婷婷国产综合久久| 超碰91人人操| 五月丁香六月婷婷亚洲天堂网站| 婷婷五月天受日本法律保护| 人妻内射麻豆视频| 狠狠狠五月婷婷六月丁香| 色婷五月丁香久亚洲| 全国最新疫情| 2025色婷婷| 美欧成人视频| 午夜丁香婷婷| BBWCUCKOLD精品熟妇| 牛色色碰| 99 福利 导航| 九九青青草成人| 亭亭五月色男人| 天天综合影院| www.99热视频| 99国产精品久久久久久久久久久 | 天天操天天爱天天玩| 99色最新在线视频网站| 天天综合五月天| 九九色影视| 久久五月综合| 9999热精品| 性生活视频98791| 激情五月天婷婷图| 中文不卡一二区| 天天插综合| 97五月久久丁香婷婷| 97人人干| www91色网站| 91婷婷丁香五月| 99热99在线| 色婷婷丁香五月色综合网| 国产va视频| 亚洲va综合va国产va中文| 欧美日韩成卜| 在线成人网站| 人人草人人爱手机视频看看| 日本99视频| 影音先锋91网站在线观看| 金品在线视频99| 色五月开心婷婷| 色五月亚洲开心网| 天天操天天操天天操天天操天天操| 亚洲情综合五月天| 99热这里都是精品| 色婷婷激情五月天| 五月天婷婷影院| 丁香久久九九99| 五月天六月丁香| 综合色色色色色色| 久久精品国产一区二区三区四区| 91狠狠色丁香| 欧美色五月天| 五月丁香六月激情| 综合久久五月天| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 99久久综合精品五月天| 久久精品人妻| 久久婷婷五月综合成人d啪| 最新激情五月天| 欧美色九| 九九99在线| 五月丁香激情综合六月涩涩爱| 五月婷婷激情综合| 97婷婷五月丁香| 综合丁香婷婷五月天| 综合成人小说婷婷| 日美三级| 中文国产五月天| 99综合网| 婷婷激情五月天网站| 五月天精品| 色色色色丁香| 色婷婷伦理| 99这里只有| www.综合久久.com| 五月天天久久香| 99网址在线观看| 五月丁香啪啪激情| 久草婷婷| 激情婷婷综合| 99成人| 91超碰在线观看| 五月婷婷中文字幕AV| 碰99在线| 天天爽夜夜爽天天爽夜夜爽| www婷婷色| 五月天婷婷在线啪啪视频| 高清无码入口| 久久久久久天天日天天爱| 色色吧综合| www.婷婷,com| 91成人视频| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 91一道本| 婷婷五月综合啪| 欧美月久久| 婷婷五月综合亚洲| 天天综合久久| 人人97碰| 九月婷婷| 精品人妻伦九区久久AAA片| 五月丁香六月色婷婷综合五月天| 六月婷婷中文字幕| 久月丁香爱婷婷综合| 婷婷五月天成人| 久鲁鲁色网 | 日日舔夜夜操| 在线99精品| 丁香激情五月天| 任你爽精品免费视频6| 影音先锋噜一噜| 伦乱天堂| 搡BBBB搡BBB搡18| 99热这里只有精品13| 婷婷婷狠狠| 色99网站| 97碰在线| 国产看真人毛片爱做A片| 亚洲性色XXXXX| 色婷婷人人| 久久五月天网| 日本熟女视频一区二区| 影音先锋91网站在线观看| 四月婷婷丁香| 玖玖爱资源站| 97碰碰碰免费公开在线视频| 九九久热| a色色色色色| 成 人片 黄 色 大 片| 另类图片婷婷五月天| 五月深情久久| 夜夜躁爽日日| 蜜乳中文字| 翔田千里 50岁 无码| 色色五月天婷婷| 99热这里只有精品最新网址| 色色丁香婷婷综合| 精品少妇人妻AV无码专区偷人 | 色综合区| 久热伊人91| 色哟哟精品| 久久久月丁香| 99狠狠色| 99cao婷婷| 婷婷99狠狠躁天天| 26uuu另类| 亚洲六月婷婷| 丁香五月激情五月| 激情综合网五月婷婷| 26uuu另类亚洲欧美日本一| 婷婷五月激情的图片| 99成人| 九九热精品| 色播丁香五月婷婷操:屄| 91一道本| 久久性爱视频免费| 99热很操老逼| 江苏少妇性BBB搡BBB爽爽爽| 色五月琪琪| 亚洲无码九九| Av性爱网站| www.91婷婷| 激情操逼婷婷| www.久久99| 婷婷色五月激情强奸四射| 美女激情婷婷| 五月丁香美女| 婷婷综合色| 特黄三级又爽又粗又大| 国产伦亲子伦亲子视频观看| 五月天婷婷久久视频| 丁香五月成人社区| 日日操日日爽| 日本成人噜噜噜噜噜| 久热91| 七七色色综合| 婷婷伊人五月丁香天堂网| www,999日本色| 久久这里只精品| 99久超碰| 六月婷婷激情| 色色色com| 夜夜撸日日骑| 婷婷色情小说| 色五月激情基地| 九月婷婷综合八月丁香在线观看| 99爱爱| 97影院一级片| 欧美日韩成人一区二区| www狠狠com| 人妻中文av| 伊人喵咪a V| AA片在线观看视频在线播放| AV九九| 高清无码网址| 成功精品影院| 超碰久热| 亚洲乱码日产精品BD| 丁香五月天堂| 国产亚洲精品AAAAAAA片| 国内外色色色色色成人视频| 久久玖玖综合| 丁香五月婷婷天堂大香蕉| 久久五月情| 五月花激情网| 色吊丝永久访问网址| 六月婷婷九月丁香| 9人人操人人看| 国产9色在线/日韩| 五月开心婷婷极品激情| 天天综合色丁香| 亚洲色五月天在线| 天天爱天天做天天爽| 五月天激情国产综合AV| 人人视频色| 五月色影院| 99色视频| 亚洲热热视频| 98国产精品综合一区二区三区| 怡红院AV亚洲一区二区三区H| 亚洲成人在线在线| 热99一二三| 亚洲色色五月天| 久久综合激情| www.色婷婷。com| 五月丁香六月婷综合成人综合| 激情六月日韩| 久久综合影院| 超碰人妻在线| 色色综合网www| 人人综合91网| 黄色99视频| Va另类视频| 99在线观看精品视频| www.超碰在线| 91久久日日| 冬月かえでAV无码播放| 九九热色视频| 五月天婷婷婷| 久Se视频在线观看| 99热热九九| 欧美人人草| 久久99久久久久久| 深夜婷婷 丁香| 久久综合首页| 五月婷婷co.m| 999激情视频| 蜜桃成语时李时珍 免费| 综合精品啪啪| 亚色网站小视频| 玖玖资源站中文| 青草五月天| 九 九九九AV| 欧美久热| 国产欧洲欧洲精品久久| 婷婷久久五月天| 综合激情在线观看| 管管補管管紱| 精品人人操| ztEJj| 丁香蜜臀黄色婷婷五月天| 亚洲五月色| 久热久| 色五月大| 国语精品探花| 天天爽天天| 任你日视频| 俺也高清无码高清视频| 国产精品18久久久| 丁香五月中文字幕| 婷婷久久色| 欧类av怡春院| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 激情五月综合第一页| 深爱激情网婷婷| 五月丁香六月婷| 成人片在线免费看| 天天成人丁香美女AV| 色色色色色色网站| 日韩色久| 中文av网| 精品国产a| 五月色婷婷AV| 婷婷六月色| 欧美在线干| 国产精品爽爽久久久久久| 91狼友视频在线观看| 五月婷婷少妇之| 色婷婷六月| 久久久WWW| 色九九九九| 无码一区二区三区四区五区91c| 丁香亚洲婷婷五月| 五月天激情国产综合婷婷婷| 婷婷五月丁香基地在线视频官网| 91大神操美女| 婷婷五月电影| 日本激情91| 激情九色| 丁香久久综合| 欧美色图天堂网色| 五月天久久网站| 日本99视频精品免费播放| 五月色影院| 一本九九色| 婷婷五月天在线综合| 日本婷婷色| 婷婷五月天综合色| 日本性视频| 丁香美女主播视频在线观看 | 婷婷五月色情| 五月天久久激情| 夜夜躁爽日日| 婷婷久久性爱| 东京热免费视频| 秋霞免费三级片| 色婷婷在线视频| 丁香无五月网| www.超碰97| 精品,99| 青青艹b| 五月激情综合网| 狼人婷婷综合| 思思久久精品| 婷婷亚洲丁香五月| 国产97在线日韩亚洲女人被黑人巨大| 激情开心五月天婷婷基地丁香社区| 日本色超碰| 久热这里| 7月婷婷六月丁香| 婷婷激情五月| 成人性爱精品视频| 欧美日韩成人在线网| 五月婷亚洲精品AV天堂| 激情五月伊人婷婷| 日本久久久97| 涩涩五月天| 精品久久99码| 欧美成人AAA片一区国产精品| 婷婷情色激情| 一区二区乱码视频| 超碰99在线观看| 久久久99精品| 天堂爱啪啪| 亚洲激情在线| 五月丁香中文字幕| 97人人超| 67194线路二在线观看| 一区操| 激情五月天色播| 天天操夜夜爽天天操| 狠狠爱成人综合网| 九九自拍网| 五月天成人伊人| 久久精品天| 亚洲五月天激情| 日日日日操| 九色视频91| 超碰99热精品在线| 久热91| 99日韩网站| 免费黄色视频网址| 丁香五月激情五月| 五月丁香久久| 五月丁香六月婷婷色日| 精品视频99看在线视频| se99热久久一本| 久久99久久99久久99人受| 天天色综合图片| 五月丁香爱婷婷深深| 9色免费网| 99热免费| 国产激情AV| 丁香六月色婷婷综合| 五月天婷婷六月激情网| 丁香五月婷婷99| 免费无码毛片一区二区A片| 婷婷九月亚洲| 婷婷丁香人妻天天| 天堂爱爱| 激情综合色网| 五月丁香久久色| 97干干干丁香| 97色色色| 婷婷五月天综合网| 丁香婷婷影院| 五月丁香欧美| 欧洲亚洲精品| 99综合视频| 精品久久久久久久人妻| 影音先锋xfplay资源男人网| www..999热久| 五月婷婷亚洲色图| 玖玖91| 青草青草视频2免费观看| 激情小说五月天| 国产精品国产| 99热99热在线| 狠狠插日日干撸| 99色色最新视频| a色色片| 五月天综合久久| 97干在线看| 久久99jiu9| WWW.五月com| 丁香五月综合狠狠| 国产免费性爱| 国精产品一区一区三区免费视频 | 五月婷婷激情视频| 亚洲丁香五月| 五月丁香激情六月| www.婷婷,com| 思思w99| 婷婷激情五月综合基地| 综合狠狠干| 激情婷婷亚洲五月| 五月在在观看| 久久五月丁香综合17C| AV五月丁香| 一本久久亚洲五月婷婷| 欧美色播综合在线观看| 婷婷黄色五月天在线视频| 亚洲久久视频| 婷婷五月天AV激情| 伊人婷婷五月| 婷婷五月色综合| 操日挥操日日| 久久99大| 69热91天堂| 欧美日韩一区二区三区四区| 色婷婷激情视频| 1024在线观看免费视频| 婷婷五月天丁香成人社区| 伊人婷婷91| 五月天操逼网| 狠狠色丁香久久久婷| 五月天激情综合首页| 丁香五月色综合色播五月| 丁香五月狠狠在线观看| 日日鲁鲁夜夜爽爽| 五月天俺去也| 日韩黄色电影| 色99网站| 成人.在线日韩| 激情五月婷色| 91九色 婷婷| 9l视频自拍9l九色成人| 91热er| 婷婷五月色亚洲| 天天操天天操天天操天天操天天操| 人人干女人| 丁香五月成人网| 亚洲精品国产A久久久久久| 超碰色碰碰| 超碰a女人的天堂| 亚洲综合字幕色色| 国产一区男女| 色日本综合| 婷婷五月天综合网| 秋霞av吧| 丁香五月综合激情性爱| 五月丁香婷婷福利| 六月丁香婷婷六月激情综合| 天天草天天爽| 久久伊人大香蕉| 91女人18毛片水多国产| 久久久大香蕉| 五月丁香网中文字幕| 思思精品视频| 99这里都是精品| 精品五月花| 日本三级中文字幕| 午夜69成人做爰视频| 久久精品五月| 国产激情综合五月| 亚洲国产精品VA在线看黑人| 色五月激情网| 991自拍视频| 九九热亚洲中文在线观看免费| 九九热这里只有精品31| 婷婷香蕉| 亚洲啪啪精品| 熟女乱论网| 五月丁香婷婷网在线在线| 色色色综合网| 91九色 婷婷| 色青青视频| 激情综合色网| 中文字幕高清av| 精品一二三区视频立| 熟女激情五月天 | 管管補管管紱| 99在线69| 丁香六月婷婷社区| 色五月丁香激情视频| 热99精品视频五月| 五月婷婷综合天天操| 婷婷五月天av网| 日韩在线99| 天天操天天插天天射| 亚洲色爽| 在线成人网站| 色婷在线视频| 久久深爱激情网| 99热都是精品| 曰曰久久| 九九激情| 日日操无码| www.久久66| 久久九九国产精品怡红院| 久久最新色| 激情文学五月丁香六月婷婷| 2025超碰| 久久久月丁香| 久久人妻精品| 色婷婷色99国产综合精品| 99久热| 婷婷丁香五月综合激情小说| 色噜噜婷婷| 99在线观看视频免费| 538任你爽| 欧美激情中文字幕| 五月丁香六月色| 中文字幕高清av| 岛国av电影网站| 成人做爰黄A片免费看直播室男男 A片试看120分钟做受图片 | 成人色五月天婷婷| 亚洲AV综合在线观看| 欧美人人女女精品综合五月天| 亚洲欧美国产高清vA在线播放| 狠狠ri| 色婷婷丁香五月天激情综合网| 婷婷中文字幕| 色五月婷婷成人视频| 亚洲综合色婷婷| 噜综合| www狠狠| 激情丁香婷婷五月天| 五月丁香色综合| 五月天婷婷色五月天| 九九热在线视频| 草操AV在线| 男女啪啪做爰高潮无遮挡| 国产99精品免费视频| 婷色五月天| 欧美亚洲999| 538在线精品| 精品无码人妻一区| 黄网在线免费观| 91九九| av狠狠操| 伊人久久综合| 午夜九九九九九九九九九九九九九| 黑人熟妇一区二区三区| 台湾无码A片一区二区| 五月天综合激情网| 思思热精品在线视频| 五月丁香网av| 99精品视频在线观看| 九九成人精品| www。五月,com| www.minyis.com【JT】实力收量可预付QQ2101460746 | 人人操人人爱丁香五月| 9久操| 丁香五月手机在线| 操操操操操操婷婷五月天| 色色色99| 丁香五月六月欧美| 欧美日韩五月婷婷| 婷婷婷婷婷婷婷五月丁香| 色婷婷视频| 影音先锋男士资源网一区| 激情五月婷婷在线观看| 五月婷婷综合激情网| 欧美性猛交AAAA片黑人 | 99爱在线视频观看| 伊人久久大香线蕉av一区| 天天影院色| 色久激情在线| 五月停停999| 五月天婷婷综合网| 色五月丁香网| 婷婷综合网站| 激情婷婷丁香| 五月天激情四射网站| www.av视频xx999.com| 五月天婷婷色综合| 六月婷婷激情| 五月天激情AAAA| www.久久99热地址发布| 99色综合| 99爱精品| 五月丁香啪啪激情| 日本精品干| 熟妇无码乱子成人精品| 天天在线XXX| 婷婷色五月综合丁香| 九热视频免费观看| 五月婷婷综合网| 99久在线精品99re8热| 色婷五月婷婷| 婷婷va| 亚洲乱码日产精品BD| 舔色婷婷| 激情亚洲五月| 五月天操逼网| 99riAV成人在线视频| 色婷婷久久| 激情丁香五月天图片| 成人超碰AV| 婷婷五月色图| 色综合99无码| 天天拍天天操| 91热视频色网站| 婷婷综合五月色播| 丁香蜜臀黄色婷婷五月天| 激情丁香久久| 久爱综合| 97人妻碰碰中文无码久热丝袜| 欧美狠狠色| 婷婷五月婷婷五月| 色综合爽| 另类伊人婷婷| 好大好粗嗯啊-一级黄色大片免费观看-成人AV| 日日干天天| 丁香九月综合激情| 这里精品| 青青草婷婷综合五月| 婷婷丁香六月综合激情站| 久婷婷五月综合欧美| 丁香五月欧美婷婷| 丰满女老板BD高清A片| 久久婷婷视频| 99热99久久| 天天日天天摸| 色婷婷视频综合| 无码G高清天| 五月天天丁香婷婷在线中| 色婷婷亚洲| 亚洲性爱电影| 激情图片婷婷丁香五月| 4438全国最大视频成人网站在线观看| 亚洲字幕AV一区二区三区四区| 激情五月天小说网| 色9999日韩国产| 色狠狠999综合| 日本婷婷五月天| 亚洲免费婷婷| 丁香婷婷激情网站| 97好吊操| 五月婷婷欧美激情| 丁香五月婷婷骚视屏| 综合久久五月| 丁香婷婷色五月合集| 色色婷婷综合网| 5月婷婷性视频| 久久这里都是精品视频| 丁香婷婷射| 丁香婷婷六月天| 九九亚洲小视频| 丁香婷五月| 色情久久久| 国产高清精品色| 五月丁香六月婷婷视频| 婷婷五月丁香伊人| 色播五月| 无码髙清| 亚洲精品无码久久| 99热这里只有精品22| AVDV久久| 99国产精品久久久久久久久久久| 五月婷在线| 色亭亭影园| 91在线人| 天堂综合久久| 玖玖无码中文| 欧美性二区| 新99色色色色色色| 五月综合777| 五月丁香花激情综合网| 五月天开心激情综合网| 色色日本欧美| 婷婷综合久久| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 色亚洲中文| 1995年关宝慧版蜘蛛女| www色婷婷com| 91要啪| 午夜一区| 久久5 9视频免费观看| 天堂在线婷婷| 亚洲在线操| 99在线观看视频精品| 天天免费日日夜夜夜夜| 欧美成人精品A片免费一区99| 9久久精品| 双性美人被调教到喷水A片| 亚洲av电影网站| 丁香五月在线自慰| 九九综合精品| 丁香婷婷中文字幕| 99在线精品视频| 国产精品99久久久久久久女警| 六月丁香婷婷爱| 91色色色18| 五月激情偷拍婷婷| 五月天国产| 九九Av| 亚洲国产网站| 99在线观看视频免费| 色色cOm| 大香蕉久操| 五月天天丁香婷婷| 五月综合激情| 这里只有精品在线播放| 亚洲午夜一区二区| 日本天天色| 性综合网| 97热超碰| 久久九九怡红院| 婷婷日日夜夜| 亚州色色色| 男人的天堂av俄罗斯热| 97操碰| 深爱激情婷| 婷婷中文字幕| 婷婷丁香综合| 丁香六月婷婷高清| 丁香婷婷91在线观看视频| 最新高清无码专区| 五月天婷婷网站888| 狠狠狠狠狠草| 天天干天天色综合| 97AV人人插人人操| 五月天婷婷在线观看精品男人| 五月婷视频| 国产成人综合亚洲| 91久久久久久久| 色欲一二三| 精品亚洲国产成AV人片传媒| 亚洲在线综合| 韩国天天婷婷| 欧美叉叉叉BBB网站| 婷婷九月丁香| 亚洲中文乱字字幕在线永久| 777米奇影视第四色| 综合另类视频| 色日本五月天| 91男人操女人视频| 狠狠搞五月天| 2020日日干| 久久免费干| 五月天综合区| 国产这里只有精品| 伊人婷婷大香蕉| 婷婷六月天激情| 97操碰人免费| 色欲香综合网| 久热免费| 五月丁香激情综合| 婷婷五月综合啪| 久久人视频| 99热这里只有精品国产精品| 国产精品久久久久9999小说| 伊人婷婷青青cao| 99热新网址| 偷偷操99| 六月丁香网| 久久中国毛毛片爱久久| 99精品22| 思思干精品| 婷婷丁香五月天亚洲| 丰满少妇猛烈A片免费看观看 | 五月丁香啪啪| 黄色三级日本| 区美毛片子| 婷婷情色五月天| 色婷另类| 国产激情在线| 色婷婷久久综| 99色色| 91碰碰视频| www.91.com黄| 色综合网址| 欧美色色色| 狠狠大香婷婷爱| 开心激情站| 亚洲激情 久久| 年轻的妺妺伦理HD中文| 美女主播野战视步页| www.婷婷com| 五月丁香花婷婷玉莉AV|