为了使用Cesium的定时器/时钟进行动画制作的目的,为弧(多段线)获取点阵列的最新(代码设计)和最常规的方法是什么。
变量输入包括(开始/结束位置),地球表面的高度(最高点)和绘图点数。
我目前正在使用折线集合,所以答案应该描述如何为现有折线生成点或转换为不同的方法。
我还需要弧(颜色)fadeIn或fadeOut到不透明度0。
每秒可以在集合中添加或删除多个弧。每个弧将具有不同的起点和终点
开始和结束位置的高度应为0(接触地球)。
(对于Cesium版本b26)
答案 0 :(得分:1)
为了确保我理解你的问题,你在地图上有一堆折线,你想在线上获得一堆数据点,用于动画沿路径的东西。我还假设您想要折线的测地线/弧线而不是通常在墨卡托地图上绘制的直线,因为测地线实际上遵循折线的空间精确路径,即平面将采用的相同路径。如果是这种情况,那么请看一下这篇博文:http://alastaira.wordpress.com/2011/06/27/geodesics-on-bing-maps-v7/这篇文章描述了如何计算折线的测地路径上的数据点。
答案 1 :(得分:0)
CesiumJS包含几个可以使用的样条函数。其中一个更容易使用的就是Catmull-Rom Spline完成你想要的东西:
http://cesiumjs.org/Cesium/Build/Documentation/CatmullRomSpline.html
你需要产生一个中间点。为此,您可以采用纬度/经度坐标的平均值并添加较大的高度。由于使用了样条曲线和点数较少,它最终看起来像一个小蛋形。这样做的好处是你可以向样条线对象询问任意数量的点,因此弧可以像你想要的那样平滑。只是不要忘记将第一个和最后一个点添加到样条曲线返回的数组中,因为它们被省略了。
还有其他类型的样条曲线,但我发现Catmull-Rom样条曲线最容易使用。您可以在CesiumJS文档中搜索其他一些包含的样条线。
答案 2 :(得分:0)
我一直在研究相同的事情(减去时间方面),我发现了Cesium.EllipsoidGeodesic(开始,结束,椭圆体),它允许你获得路径分数的点数。在我看来,您可以根据距离选择分数,并使用结果计算常规分数。
https://cesiumjs.org/Cesium/Build/Documentation/EllipsoidGeodesic.html
我还没有尝试过,但它已列入我要做的事情清单。