1
3
使用
vectors
可以让数学看起来简单一点。
Sylvester
|
2
6
将目标精灵视为二维房间中的直线,其中:
因为子弹的速度是恒定的,所以你也知道:
你知道这两条线都在某个地方:
然后由你用给定的值来解这些方程,并求出最小值
|
3
5
一些身体上的洞察力1)目标为“点目标”
位置 [时间=t 1 &燃气轮机;t型 0 目标 [时间=t 1 &燃气轮机;t型 ]--(等式1) 其中位置由运动(也是矢量)方程给出 对象 [t]=位置 [t] 0 对象 *(t-t) 0 )
子弹 0 ]+速度X 子弹 *(t-t) )=X个 [t] 0 目标 0 ) 所以我们的碰撞时间 (t) 碰撞 -t型 0 )=(x) 目标 [t] 0 子弹 [t] ])/(速度x 目标 )--(等式2) 因为我们需要t>t型 0 ,这意味着有一个截距就足够了> 目标 [t] ]-x个 [t] ])=符号(速度x 子弹 -SpeedX公司 目标 )--(式3)
从等式2可以看出,对于给定的SpeedX 目标 (在其他答案中已经指出)对于t和SpeedX ,所以我认为你们的规格不全。
目标 [t] -t型 0 ]-位置 子弹 0
距离[v,u]=+Sqrt[(Vx-Ux)^2+(Vx-Vy)^2] 所以,等式4变成, (十) 目标 [t] -t型 ]-X个 子弹 [t] 0 ]) +(Y) 目标 [t] 碰撞 0 ]-是的 0 ]) <子弹射程 2 [t] ]年 [t] 0 现在,在等式5中替换目标位置的值: (十) ]+速度X *(t-t) 0 )-X个 子弹 [t] 0 +(Y) [t] ]+快速 目标 )-是的 子弹 [t] 0 ]) 2 <子弹射程 --(等式6)
Dxt0=X 目标 [t] ]-X个 子弹 0 ]
目标 0 ]-是的 ] 方程式6变为 (Dtx0+SpeedX) *(t-t) 0 ) ) +(Dty0+1) 0 )) 2 <子弹射程 2 --(等式7) 这是一个二次方程,在t-t0中求解。正解会给我们最大的碰撞时间。之后目标将超出射程。
速度 目标 2 =速度x +迅捷 2
H=Dtx0*SpeedX +Dty0*快速 目标
[t] 0 子弹 [t] ])/(t 碰撞 0 和 迅捷 =(Y) 目标 [t] ]-是的 子弹 [t] ])/(t 碰撞 -t型 )+快速 目标
2)目标和塔是“广泛的对象”
所以,用(bullettrange+R)代替bullettrange,得到了允许的最大碰撞时间的新方程。 如果你还想考虑火炮的半径,同样的考虑也适用,给出一个“双扩展范围” NewBulletRange=子弹射程+R 目标 塔楼
无限射程子弹
在您决定某些特殊项目符号不应具有范围(和检测)限制的情况下,仍然存在屏幕边界约束。但要解决这个问题就有点困难了。如果你需要这种射弹,请留下评论,我会做一些计算。 |
4
1
|
5
0
我假设目标会以匀速直线运动。
和
从项目符号原点和交点之间的距离(以及先前计算的时间)可以计算项目符号的速度。 |
Softly · 单选按钮未按预期取值 1 年前 |
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
assembler · Nextjs没有处理发布请求 1 年前 |
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
Toniq · javascript为php保存多维数组 1 年前 |