在一定时间后预测物体的位置
Predicting an object's position after a certain amount of time
我目前正试图想出一种方法来高精度地"解决"玩家的位置。
该位置将是导弹被发送到的地点。导弹将有速度/延迟/宽度和射程。玩家也有速度,很可能会试图走出导弹,这就是我试图"预测"的。我可以过滤所有不可能将导弹发送到的地方(因为玩家无法移动到那里,或者会被另一个物体阻挡移动(,但我仍然面临玩家试图走出导弹的问题。
一个简单的
const float missile_speed = 2000;
const float missile_width = 100;
const float missile_delay = 0.250f;
const float target_speed = 350;
float time_to_land = (player->position.distance_to(sender->position) / missile_speed) + missile_delay;
D3DXVECTOR3 position = player->position + player->direction * time_to_land);
我不会这么做,因为玩家可以在导弹发射的那一刻改变方向,有效地使其错过。这就是我可以使用玩家的路径并将其分割,然后分析它以找到我能投到的最佳位置,但如果玩家突然改变方向,自动点唱问题仍然存在。导弹有时肯定会命中,但它不会一直命中。
我不知道该怎么处理。我已经搜索了很长一段时间,大多数"解决方案"都是我在示例中找到的。
我应该如何正确处理?我正在考虑神经网络,但我不知道从哪里开始,也找不到任何使用人工智能来详细说明问题的资源。请记住,我是用C++来做这件事的。
我看不到导弹发射后的限制。如果这种导弹可以在飞行过程中被引导/重定向,那么一些解决方案,比如在每1/10的时间_to_land后触发玩家位置的重新计算,就可以了。您可以通过更频繁地触发来提高精度。另一方面,如果玩家的位置需要在发射前确定,那么它就是不同的野兽。
相关文章:
- 为什么根据测量位置测量经过的时间时会有很大的不同?
- C++程序中多个位置的时间 (0) 时间戳
- 在一定时间后预测物体的位置
- 如果着色器中未使用绑定属性位置,是否会对其进行惩罚
- 在 Omnet++ 中的模拟时间内更改/设置节点的新位置
- SDL_Mixer再次播放时,从随机位置开始一段时间,然后从头开始
- 来自不同位置的数组输出的执行时间
- C++ Poco SQL 查询不返回具有'between'和'and'日期时间绑定的结果
- 给定代码段中引用的时间和空间位置的所有出现
- C++17:是编译器为(静态存储持续时间)const引用绑定创建的可修改的临时对象(和存储)
- 多边形在时间 T 的位置 x,y 处
- std::list c++是连续的,那么在序列中的任何位置插入和擦除操作都需要恒定的时间
- 模板变量的绑定时间
- 了解使用 GCC 时编译时间的位置
- 放置此指针的位置以及为其分配内存的时间
- 如何判断约束绑定编码的时间限制
- 使用时间位置将日期时间从/转换为UTC时间戳
- 当试图获取系统时间时,访问冲突读取位置
- 我如何在常数时间(O(1))内获得字母表(1-26)中字符的数值/位置,而不使用任何内置方法或函数
- 如何在给定时间后确定物体在二维空间中的位置