小编Umo*_*sdn的帖子

计算PHP中两个X,Y坐标之间的距离

我正在为游戏编写一个工具,它涉及计算500个单位的环形平面上两个坐标之间的距离.也就是说,[0,0]到[499,499]是有效坐标,[0,0]和[499,499]也是彼此相邻的.

目前,在我的应用程序中,我正在比较一个城市与[X,Y]位置之间的距离,该距离分别与用户自己的[X,Y]位置相对应,这些位置是他们事先配置的.

为此,我找到了这种算法,哪种工作方式:

Math.sqrt ( dx * dx + dy * dy );
Run Code Online (Sandbox Code Playgroud)

因为按距离对页面列表进行排序是一件很有用的事情,所以我在MySQL查询中实现了这个算法,并使用SELECT语句的以下部分将它提供给我的应用程序:

SQRT( POW( ( ".strval($sourceX)." - cityX ) , 2 ) + POW( ( ".strval($sourceY)." - cityY ) , 2 ) ) AS distance
Run Code Online (Sandbox Code Playgroud)

这适用于许多计算,但没有考虑[0,0]和[499,499]相互之间的小角落这一事实.

有没有办法我可以调整这个算法来生成一个精确的距离,假设0和499是相邻的?

php mysql algorithm math coordinate-systems

3
推荐指数
2
解决办法
4168
查看次数

标签 统计

algorithm ×1

coordinate-systems ×1

math ×1

mysql ×1

php ×1