用于预测对象在X秒数内的位置的算法

时间:2016-08-17 21:08:32

标签: algorithm lua

问题:我如何计算出一个算法来计算一个物体的位置x在它到达之前的时间量,在200毫秒的时间内(或者更少)用当前的x,y和速度变量(尽管可能更多) LUA编程语言中的变量(算法的例子比直接答案更能帮助我)。

我正在尝试制作一个lua脚本来表示一个预测方法,用于预测弹跳球相对于玩家的下一个x和y位置。然而,由于球在一帧中从一个墙移动到下一个墙(瞬间),它在一个墙上给出了球的x,y,然后当它再次反弹时(它在弹跳和弹跳之间有3-4帧延迟)它给了我另一面墙上的球的x,y,但是我想让它预测球在什么时间(毫秒)处于“球员1”的位置或视野中它会做什么一个击球的动作,所以它不会击中球员。我有x和y值,我理解我刚才创建的距离公式:

    distance = math.sqrt((ballx-p1x)*(ballx-p1x)+(bally-p1y)*(bally-p1y))
end

          createHotkey(function(hk)
            local dx = readInteger("[ballcoords]+18")-readInteger("[p2coords]+18")
            local dy = readInteger("[ballcoords]+1c")-readInteger("[p2coords]+1c")

            if math.sqrt(dx*dx+dy*dy) <= 9000000 and hitstun_countdown >= 0 and hitstun_countdown <= 1 then
              doKeyPress(VK_Z)
            end
          end, VK_F)

但是我要进入未知领域,所以我决定在这里寻求帮助,谢谢你的一切!

随时提出任何问题。

编辑#1:发现我有一组x和y值可以使用,它们被称为xspeed,xspeed,如果向左移动则变为负数,如果向右移动则变为正数且仅依赖在x值上。然后我们快速,速度,如果上升它们都是正面的,如果下降则都是负面的并且仅取决于y值。你可以通过观察它们是否为负或正面来判断物体是否弯曲以及弯曲的方向,所有4个负面=弯曲向左和向上,所有4个正面=弯曲向右,向下,只是想要添加这个,因为它可以使事情变得更容易。

编辑#2:如果球具有无限速度,则x'中的一个和y'中的一个变为0并且不表示任何东西,但是另一个x和y继续显示角度。我100%确定一个x和y代表其他人进入角度的幅度,其他代表角度,不一定代表速度。

1 个答案:

答案 0 :(得分:0)

我个人在这方面做得不多,但我确实知道它叫做什么:外推。

也许词汇可以帮助你做正确的研究。我知道,在学习的过程中,不知道正确的词汇对我来说一直是个障碍。

https://en.wikipedia.org/wiki/Extrapolation