我有一组点从(0,0,0)开始绘制车辆在3D中所采用的路径,每个点是在其各自维度上行进的距离。我需要做两件事
有什么建议吗?
编辑:现在绘图是可行的,转换不是由于David
答案 0 :(得分:2)
对于Google地球,有一个很好的例子here:向下滚动到“示例:显示沿路径移动点”
对于Google Maps API,This example位于Google Maps Demo Gallery。这有点粗糙,但你知道你能做些什么。
答案 1 :(得分:1)
使用JavaScript动画在浏览器中移动Google地图上的点是很容易的。不过,我不确定你想要什么样的视频。
Google地图甚至还有一种API方法可以渲染地图,并在地图上绘制路径。您可以在页面底部看到此here。
答案 2 :(得分:1)
因此,您在一个(任意)坐标系中有一个起点(0,0),在另一个(地心)坐标系中有一个相应的(纬度,经度)点。你的问题是,从你的原点得到一组已知的(x,y)偏移量,你如何找到相应的(纬度,经度)点? (到目前为止,我能理解你的问题吗?)
简单的答案就是使用公式:
lat2 = asin(sin(lat1)*cos(d/R) + cos(lat1)*sin(d/R)*cos(θ))
lon2 = lon1 + atan2(sin(θ)*sin(d/R)*cos(lat1), cos(d/R)−sin(lat1)*sin(lat2))
d/R is the angular distance (in radians), where d is the distance travelled and R is the earth’s radius
取自此链接:http://www.movable-type.co.uk/scripts/latlong.html
编辑2 :(哦,我忘了提到:这个公式假设你有极坐标(R,θ)而不是笛卡尔坐标(x,y)。但是在它们之间进行转换是not too hard。)
稍微长一点的答案是,如果你在足够大的空间内进行此操作,数学会变得非常复杂,因为测量高度的方式以及地球表面的形状。您可能想要阅读地理坐标系; this Wikipedia article是一个很好的起点。您可能还会发现PROJ.4 library有用。
编辑:
如果您需要考虑高度(z)测量,数学会变得更加复杂。简单(ier)解决方案是进行2.5维数学运算 - 也就是说,用一组公式计算(x,y)坐标,然后分别进行(z)坐标。这仅适用于足够小的区域,因为您基本上假设地球表面对于您正在工作的空间是平坦的。但是,这对您的应用来说可能已经足够了。