c#

时间:2016-07-24 14:15:44

标签: c# latitude-longitude geography

我用c#编写游戏应用程序。我想计算应用程序屏幕中对象的移动。例如,我想知道我的对象是否从源到目的地(使用latitudelongitude)与speeddirection(如果可能的话{{1}一段时间之后的目标点是什么。

换句话说需要这样的事情:

turn rate

是否有任何具有此方法的库或类似的东西?

1 个答案:

答案 0 :(得分:0)

首先必须将纬度/经度转换为正交坐标系统,例如Universal Transverse Mercator(UTM)。然后从给定的航向计算正交坐标系中的相应速度分量。使用时间步长,计算位置变化并将其添加到原始坐标。最后,更新的坐标将转换回纬度/经度。在伪代码中:

(latitude_degN, longitude_degE) --> (easting_m, northing_m, utm_zone)
heading_rad += turn_rate_radps * timestep_s
east_velocity_mps = sin(heading_rad)
north_velocity_mps = cos(heading_rad)
delta_east_m = east_velocity_mps * timestep_s
delta_north_m = north_velocity_mps * timestep_s
easting_m += delta_east_m
northing_m += delta_north_m
(easting_m, northing_m, utm_zone) --> (latitude_degN, longitude_degE)

这假设朝北的航向(北纬0度,向东增加90度)和一小段时间。