物理吧 关注:1,144,992贴子:5,231,771
  • 11回复贴,共1

请问抛物线的发射角度怎么求(抛射角)

只看楼主收藏回复

目的用于3D游戏,不过理解部分不需要太复杂,所以只需要2D的方法就可以了(平面)
已知条件:
目标位置(XY),
发射点坐标(XY),
炸弹的重力(Gravity),
发射点与目标的高度差(Hight-Offset),
发射点与目标的水平距离(LevelDistance)
求:抛物线发射角度(指抛射角度)


IP属地:重庆1楼2021-12-24 15:37回复
    没初速度求不了


    IP属地:浙江来自Android客户端2楼2021-12-24 16:52
    收起回复
      分解矢量即可。


      IP属地:福建来自Android客户端3楼2021-12-24 19:18
      收起回复
        稍微看了下,缺条件,以发射点为原点建立坐标系,题目可以转化为已知二次函数上的一个零点以及一个任意点,求该二次函数在已知零点处的导数,再取反正切值。需要知道抛物线的离心率或者顶点坐标,离心率和顶点坐标可以通过物理定律算出来,但是缺少了发射初速度或重力加速度又或者炸弹质量。初速或者重力加速度又或者炸弹质量,如果已知任意一个,都能求出来抛物线方程,方程出来剩下的就简单了,不过求方程太复杂了。话说这种工作不都是交给游戏的物理引擎来算的吗?人工算到什么时候


        IP属地:内蒙古来自Android客户端4楼2021-12-25 00:43
        收起回复
          是可以算出来的。。不过这个有可能会有两组解。。


          IP属地:江苏来自Android客户端5楼2021-12-25 08:40
          回复
            你现在列的只是最普通的抛物线弹道,这样做游戏就有点单调了,连以前的小游戏都还有风速之类的东西。而且一般来说是设定好重力加速度、三维坐标,炮弹速度,让玩家输入发射角度,甚至比如桌球游戏连速度或力道都是玩家输入的,后面都是交给物理引擎模拟,弹道打中就打中,没打中就是没打中。这种反求角度的设计挺奇怪的。
            只是计算的话,只从二维看,初始点是(0,0),目标是(l,h),速度大小是v,加速度是g,与地面角度是α,时间是t。那么这里就是列两组方程vcosα*t=l,vsinα*t-0.5gt^2=h,两式联立消去t就可以求出角度α。


            IP属地:浙江6楼2021-12-25 10:38
            收起回复