【发布时间】:2012-03-08 15:33:54
【问题描述】:
我需要在没有浮点类型的嵌入式系统上计算两个坐标(经度、纬度)之间的距离(只有整数可用,所以没有三角函数,也没有像 sqrt 这样的浮点运算)。
这些点彼此非常接近,因此准确性不是问题。
所以我不能使用Haversine formula。我也不能使用这个基于毕达哥拉斯定理和equirectangular projection的简单算法:
x = Δlon * cos(lat)
y = Δlat
d = R * √(x² + y²)
因为我没有 cos 和 sqrt 函数。也许我可以以某种方式实现它们,但是这个算法必须很快(嵌入式系统)。
我最好的选择是毕达哥拉斯定理,但是如何在没有三角函数(也没有 sqrt)的情况下从度数到米数?
【问题讨论】:
-
你说“(没有浮点数)”并且你没有浮点运算 - 你的意思是你只有整数可以使用,还是你的意思是你有浮点数和一些一组操作(add、mul,也许是 sub 和 div)但不是 sqrt 和 trigs?
-
我只能处理整数。
标签: math language-agnostic gps geospatial