c++设计两个小球碰撞演示的源代码

来源:百度知道 编辑:UC知道 时间:2024/05/15 14:28:40
 小球对撞;
 小球追击撞击;
 分别显示两个小球的质量和初始速度

看题义应该是只考虑在一维空间这种简单的情形,也就是只有正反两个同线方向,并且还不用考虑的球的大小(如果一个小球与一个大球相撞,还要考虑撞击方向不在两球心连线上,会怎么样?!当然画图演示时如果球有大小,就要把握好撞击的时刻),同向撞击和反向撞击其实是归类到同一个物理公式中的,撞击后的球速并不难求(根据动量守恒求方向,根据能量守恒求大小,当然要把公式简化变形到适合程序计算的形式)。如果只是想以文字方式打印输出那实在是太简单了,没什么好说的;如果是想以动画方式形象地演示出来,这里有一个粗糙的方案:设定一个很小的时间间隔,每隔个时间片断后,计算一下两球的位移(根据当时的速度计算相对上一次位移的偏移量),每次都要比较这两个位移的相对距离,如果发现这个距离小于事先设定好的误差值就认为它们相撞了,在这一刻利用物理公式计算出新的球速,以后就按新球带更新位移……

唉,该问题是叫咱们打义工啊,呵呵