@Canonvar
2016-05-03T20:34:14.000000Z
字数 795
阅读 1608
计算物理作业
学号: 2013301020085
本次作业完成第10次作业-chapter3_problem3.31,讨论了小球于正方形边框内部在中央存在不同半径圆框时的碰撞情况。用vPython对小球运动情况进行了简要演示,并对各情况下在时的关系进行了讨论。
小球在规则的正方形边框内做无耗散的匀速运动时,将以不同的初速度和初始位置得到不同的固定轨迹。在有微小扰动的情况下,在固定纵坐标时的值将保持不变;而小球在规则的圆形边框内做无耗散匀速运动时,也具有稳定的相图,而当圆形渐渐趋于田径场形状时,其相图趋于混沌。
设正方形中心位置为坐标原点,以右边框为例,当检测到小球x位置ball.pos.x
大于右边框x坐标table_right.x
时,小球的正确位置应该位于右边框镜像对称位置,位置修正为ball.pos.x = 2 * table_right.x - ball.pos.x
,速度修正为ball.velocity.x = -ball.velocity.x
。
详见源码functionfixCollision(obj, pos)
。
python源码地址:
billiard_test
在与中间小球的碰撞下,小球的运行轨迹被改变,从而造成了速度方向的改变,当圆变大时,碰撞的概率随之增大,故相图越混乱。
另外发现vPython一个有趣的bug _(:зゝ∠)_