[关闭]
@hdwhu 2016-06-11T02:39:51.000000Z 字数 620 阅读 401

第十次作业

摘要
本次作业完成第10次作业-chapter3_problem3.31,讨论了小球于正方形边框内部在中央存在不同半径圆框时的碰撞情况。
背景介绍
小球在规则的正方形边框内做无耗散的匀速运动时,将以不同的初速度和初始位置得到不同的固定轨迹。在有微小扰动的情况下,在固定纵坐标时的值将保持不变;而小球在规则的圆形边框内做无耗散匀速运动时,也具有稳定的相图,而当圆形渐渐趋于田径场形状时,其相图趋于混沌。
正文
边框碰撞检测

设正方形中心位置为坐标原点,以右边框为例,当检测到小球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)。
第十次作业程序
当不存在圆形遮挡物时,关系如下图,可见为普通正方形框中的碰撞情况.
1
当圆形半径为5时,关系如下图,可见出现多条不同的线。
1
当半径为10时,图像趋于杂乱。
1
当半径为20、40、80时,图像基本混沌。
1
1
1

结论

在与中间小球的碰撞下,小球的运行轨迹被改变,从而造成了速度方向的改变,当圆变大时,碰撞的概率随之增大,故相图越混乱。

致谢

感谢刘文涛同学提供的程序参考。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注