如何推导出运动轨迹方程,好几位都说了和做了全套。但"如何"这件事值得再说说,可以把学习演进成好玩的游戏。
要做成任何事(包括做题),基本都是三段论模式的,第一段,解决要做啥的问题,第二段,解决如何做的问题,第三段,解决做出来的问题。如果只把题主的问题当成一个写公式的过程,学习和成长的机会或就浪费了。我们来看看,在这个做事三段式里,我们能玩出啥花头来。
首先是这题主要干啥?原来是要写一个平抛运动轨迹方程。轨迹是个什么鬼?就是一连串的(水平位置,高度位置)么。只是题主要的不是一连串的数组,而是表达这个一连串数组的水平值与高度至之间数量关系的数学通式:高度值=F(水平值)。
帮助题主解答的各位,下意识地假设题主明白这是一个两个方向的运动组合,还是正交的(运动方向垂直,互不影响),并且水平运动是恒速的,x=vt;垂直运动是加速的(受地球引力,有加速度g,方向下),有y=-1/2g²t (稍微考虑实景,应该有一个初始高度吧?y=H - 1/2gt² )。这里有一个疑惑,如果题主对x,y与t的关系都清楚,题主的困惑在哪?他(她)不知道通过消元法去掉时间变量t就能得到y与x之间关系的表达式了么?
我猜题主一开始没有想清楚,求轨迹方程就是要找出y与x之间的关系式。若明确了这一点,又具备了掌握x,y分别与t关系的前提,从x=vt里得到t=x/v,再带入y=H-1/2g²t的式子里,立马就有y=f(x)了。
如果题主知道是要找x~y关系的通式,但两个不同的运动组合形成的轨迹上,x,y的关系该咋找呢?题主可能一下没有思路。其实消元法只是一个数学游戏,若不明白其背后的物理意义,就会落入会解题,但对"原理"可能不明白的状态。啥原理?就是轨迹上的每一组x,y值,都是两两"同时"发生的。这样,从两个运动方程里推得的t=f(x)和t=g(y) 就可以得出有f(x)=g(y)的等式,从这个等式中就可以推出y=F(x)的通式,t就不需要了。t用消元法可以被数学地处理掉的物理意义就在于一个轨迹上的所有点的水平值和高度值都是两两同时发生的。
把题主的问题再扩展一下,比如不是平抛,而是向上斜抛的,运动轨迹又会咋样?这就把"做啥"都范围扩展了,能玩的脑力操就多了。但原理一样的,都是两个方向的运动叠加,只不过在垂直方向上多了一个初速,y与t的关系变化了,但根据"同时"来把t消元掉的做法是类似的。
然后,还可以再加一个运动方向,比如z向。原题是x,y平面里的运动,无论平抛还是斜抛,都假设是二维运动,可是三维的才是现世的么,抛出后来了一阵横风…
一个与x=vt水平垂直的z=1/2at²运动(假设风一直恒劲地吹,形成加速度a)加入后,轨迹会如何?这时的轨迹方程就不是y=(x)了,而是y=(x,z)了。
再考虑到空气对物体的阻力,实际的轨迹就会有变化。课本里的平抛轨迹是数学轨迹,就是假设平抛是在真空里发生的。可现世里有空气,就有阻力,阻力的方向与物体运动方向相反,并与运动速度有关。无论平抛还是斜抛,无论二维还是三维,运动方向(轨迹的切线方向)都在变,为简化问题,考虑空气阻力的轨迹方程可先做一个1.0版的,就是只考虑在x方向上的影响(只与x有关),做成了,再做与x,y,z都有关的。
在考虑空气阻力的版本里,还有一个升级方向就是考虑高程,不同高程对应不同的a值,其背后的原理就是高程越高,空气越稀薄,阻力就越小。
至少还有一个玩法可以加入,就是科里奥利力对抛射轨迹的影响。一个高速旋转的物体(如炮弹),在抛射过程中受到地球自转的影响,轨迹会相对抛射物没有自转时发生偏移。
从平抛运动轨迹扩展到加其它运动的轨迹,在做啥的问题上玩的花样就多了,但原理上都是运动叠加,轨迹方程都靠"同时"性来求得。只是横风恒吹会产生多大的加速度a,以及空气阻力会产生多大的加速度,就要玩家自己合理假设了。但在这个阶段,我们只要定性(把这些因素包括进来),不需要定量(到底有多大)。
解决了做啥的问题后,下一个解决的是咋做,在这里,就是要把考虑各种运动的轨迹方程写出来。每个单个方向的运动方程都能有,对吧?然后推导出一个包含x,y,z的合成运动轨迹方程式。这里还可以预构各种场景,比如斜抛的仰角高低(0-90),横风与水平作用的水平夹角(可360°选),假设空气密度与高程的关系,都可以设为可变量。
这些方程写出来,就完成了咋做的部分,下面就可以做出来了,把方程写入一个excel表,就进入真正玩耍的部分了。带入不同的参数(列表上填入不同的值),得出不同的轨迹数据,比如发射初速一定,最多抛多远,最高到哪里?或者要抛到某一距离,初速和仰角如何定?目标在不同距离,不同高度(相对发射点),轨迹应该如何控制?
做啥的花样越多,做出来部分的玩法就越多,如何做(写出方程)的内容也复杂些。好在有excel表,计算的功夫都由机器完成了。
如果不是炮射(主运动推力来自炮口初速),而是火箭(整个运动过程有推力),轨迹更不同吧?
还有一个反推轨迹的玩法,就是轨迹上的某几个点相对线外某点的距离和仰角值(相当于雷达探测值),然后反推轨迹方程,然后计算发起拦截的炮弹(导弹)轨迹,如何让两个轨迹相交…
题主只需要解决做啥和咋做的问题,做出来就交给excel表,就成为火箭拦截轨道计算专家了。
能搞出平抛运动轨迹的,再晓得点三角函数,就都能玩了。
里面需要一些假设,比如你不知道空气阻力到底能有多大,咋办?可以先看真空距离有多少,然后假设空气阻力导致5%~15%(随便定)的水平距离减少,即可反推空气阻力了。横风吹产生的a值也可一样的假设+反推出来。
这种打炮的游戏设计,男生更愿意玩吧。学习其实可以很好玩。
写出水平方向位移,竖直方向位移,消去参数t时间。
位移对时间求导得到的是瞬时速度