簡體   English   中英

Cesium JS獲取弧點數的最佳方法

[英]Cesium JS best way to get an array of points for an arc

為了使用Cesium的定時器/時鍾進行動畫制作的目的,為弧(折線)獲取點陣列的最新(代碼設計)和最常規的方法是什么。

可變輸入包括(起始/結束位置),地球表面的高度(最高點)和繪圖點數。

我目前正在使用折線集合,因此答案應該描述如何為現有折線生成點或轉換為不同的方法。

我還需要弧(顏色)fadeIn或fadeOut到不透明度0。

可以每秒從集合中添加或移除多個弧。 每個弧將具有不同的起點和終點

起點和終點位置應為高度0(接觸地球)。

(適用於銫版本b26)

為了確保我理解你的問題,你在地圖上有一堆折線,你想在線上獲得一堆數據點,用於動畫沿路徑的東西。 我還假設您想要折線的測地線/弧而不是通常在墨卡托地圖上繪制的直線,因為測地線實際上遵循折線的空間精確路徑,即平面將采用的相同路徑。 如果是這種情況,那么請看一下這篇博文: http//alastaira.wordpress.com/2011/06/27/geodesics-on-bing-maps-v7/這篇文章描述了如何計算沿着折線的測地路徑。

CesiumJS包含幾個可以使用的樣條函數。 Catmull-Rom Spline是一個比較容易實現你想要的只有三點的人:

http://cesiumjs.org/Cesium/Build/Documentation/CatmullRomSpline.html

你需要產生一個中間點。 為此,您可以采用緯度/經度坐標的平均值並添加較大的高度。 由於使用了樣條曲線和點數較少,它最終看起來像一個小蛋形。 這樣做的好處是你可以向樣條線對象詢問任意數量的點,因此弧可以像你想要的那樣平滑。 只是不要忘記將第一個和最后一個點添加到樣條曲線返回的數組中,因為它們被省略了。

還有其他類型的樣條曲線,但我發現Catmull-Rom樣條曲線最容易使用。 您可以在CesiumJS文檔中搜索其他一些包含的樣條線。

我一直在尋找相同的東西(減去時間方面),我發現了Cesium.EllipsoidGeodesic(開始,結束,橢球),它允許你獲得路徑分數的點數。 在我看來,你可以根據距離選擇分數,並使用結果計算常規點。

https://cesiumjs.org/Cesium/Build/Documentation/EllipsoidGeodesic.html

我還沒有嘗試過,但這是我要做的事情清單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM