PHP确定距离

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP确定距离脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一大堆30×100代表一个足球场.我让玩家继续前进.然而,当球投掷时,我需要确定其他球员是否在轨迹的/ -1范围内以可能拦截传球.

由于一些(和大多数)传球被对角抛出,我很难弄清楚如何确定一个算法来评估这样的事情.

我的领域看起来像

1 2 3 4 5 6 7 ...
2
3
4
5
6
7
...

字符只能从积分器移动(因此每个时刻都有一组坐标,如(3,2)或(20,90).

什么是最简单方法来判断一个球员是否在我的传球轨迹的某个范围内(比如传球从(2,4)到(30,15))?

解决方法

所以你有一个($x0,$y0)的传球手,如果没有人抓住传球($x1,$y1),传球将会降低的位置,以及($x,$y)的潜在接球手.你想找出($x,$y)接收器与($x0,$y0)到($x1,$y1)之间的距离.

这是由这个等式给出的:

$d = abs( ( $x1 - $x0 ) *  ( $y0 - $y ) - ( $x0 - $x ) * ($y1 - $y0 ) ) / 
    sqrt( pow( $x1 - $x0,2 ) + pow ($y1 - $y0,2 ) );

你可以找到一个派生here.

然而,这只能到达(无限长)线的距离,这可能在包含传球的线段之外.要得到正确的答案,请参阅Grumdrig的答案:Shortest distance between a point and a line segment

脚本宝典总结

以上是脚本宝典为你收集整理的PHP确定距离全部内容,希望文章能够帮你解决PHP确定距离所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。