java计算未来位置
我得到了有关实体的以下信息:
横向/纵向位置 航向(弧度) 速度(以节为单位)
假设实体在恒定高度以恒定速度沿直线移动,如何计算实体在任意时间点的横向/纵向位置(或以一定间隔计算其位置)
(如你所知,我的数学能力很弱)
你可以在下面搜索框中键入要查询的问题!
我得到了有关实体的以下信息:
横向/纵向位置 航向(弧度) 速度(以节为单位)
假设实体在恒定高度以恒定速度沿直线移动,如何计算实体在任意时间点的横向/纵向位置(或以一定间隔计算其位置)
(如你所知,我的数学能力很弱)
# 1 楼答案
首先,你不能在一条直线上同时在一个恒定的高度上移动。你的纵横坐标在一个参考椭球体上(很可能是WGS84)。 它们是各种各样的库或DB扩展,它们有一系列函数来精确地解决这类问题。例如,Postgis就是其中之一。他们中的大多数人都是免费的、经过测试的,并且工作。我不建议你自己尝试实现这个(假设地球是一个半径为r的完美球体),因为你必须考虑你正在使用的参考椭球体
# 2 楼答案
考虑到Hyperboreus提供的答案,这里有一个航空公式集:http://williams.best.vwh.net/avform.htm有计算给定起点、角度和距离的新纬度/经度的公式。你必须自己计算距离。听起来你已经有了计算距离所需的一切,因为速度就是距离/时间,如果你把它乘以你想要使用的时间偏移量,你就得到了距离
1节=1牛米/小时 距离=yourTimeInDecimalHours*速度
用于说明这一点的代码示例(从上面引用的链接复制):