重庆交通大学学生实验报告实验课程名称数学模型课程设计开课实验室数学实验室学院理学院09 级数学专业 2 班开课时间2011 至2012 学年第 1 学期评分标准评分姓学姓学号张伟09450203课程设计报告结构的完整性、表述的清晰程度、方法的正确性、结果的可靠性等(60分)答辩情况(40分)课程设计指导教师张文忠错误!未找到引用源。
台球碰撞一. 摘要本文运用折线法和镜面反射的原理解决了台球在方形桌上的碰撞问题,得出了一般性的结论,即以何种角度撞击第一球可以经边界弹射后可与第二小球相撞,并且在长方形的基础上进行了推广,得出在椭圆型的桌面上经1次反射可以碰到第二球的条件,给出了在椭圆桌面上经N 次反射可撞到第二球的条件的一般性计算方法。
从理论的角度解决了在椭球桌面上碰撞的问题,为小球碰撞检测提供依据。
可用于开发椭圆桌面台球游戏提供可能。
关键词:台球碰撞 折线法 镜面反射 碰撞检测二. 问题重述给定一个台球桌(考虑长方形和椭圆形)和桌上的两个同样的球,问向哪个方向击第一个球使得它从台球桌的边缘弹回而正好正向碰到第二个球?注:1、正向相碰:第一球运动方向指向第二个球的球心发生相撞。
2、正好碰到第二个球:第一个球碰到第二个球时,第一个球速度减为零。
3、有时需要考虑多次反射的情况。
三. 问题分析在解决这一问题时,我们可以做适当的假设,将碰撞问题转化为在没有能量损失的情况下给出要相撞的条件。
考虑反射为镜面反射。
接着可以矩形的两边为基础建立直角坐标系,假设两球的球心坐标为11(,)A x y ,22(,)B x y 。
则对于一次反射后相撞的情况,可设出小球A 与边界碰撞点的坐标,在利用镜面反射的相关结论,计算得出碰撞点的坐标,从而确定出以何种角度撞击小球A ,经反射后可与小球B 相撞。
对于多种碰撞的情形可用折线法得出。
对于椭圆桌面的求解,也根据这一思路进行。
四. 模型假设1.在台球碰到矩形区域的四个角点时,小球按原路返回。
2.不考虑台球桌面的底洞与中洞3.桌面是充分光滑的,小球与桌面边缘碰撞没有能量损,并且碰撞时反射角等于入射角。
4.不考虑台球的半径,将台球视为质点。
五. 符号说明11(,)A x y :小球A 的坐标。
22(,)B x y :小球B 的坐标。
00(,)M x y :碰撞M 的坐标。
(,)n n n M m n :小球A 与桌面多次碰撞时第n 次碰点的坐标。
(1,2,3.....)n N六. 模型的建立与求解模型一:长方形(一)碰撞一次的情况定义小球与台球桌碰撞的边称为边界。
下面我们讨论反射一次的情况,假设小球与桌面的上边界相撞求出小球二关于长方形边界的对称点,记做'B ,如下图显然要是A 小球一反射后碰撞小球B ,只需碰点在直线'AB 即可,故'B 满足下述方程组:'220'22002022x x x y y y x x y b⎧+=⎪⎪+⎪=⎨⎪=⎪⎪=⎩所以,撞击A 的角度(与x 轴)为12212arctan()b y y x x θ--=- 错误!未找到引用源。
用同样的方法可以计算出小球与下边界,左边界和右边界撞击满足的条件,这里为了避免重复,具体详见附录一用折面法可以统一的表示这四种情况(二)碰撞多次的情况对于碰撞多次的情况我们用折面法进行讨论:将台球桌不断地按边界翻折,直至铺满整个平面,并且在每个桌面上标注出小球B 的对称点'B 的位置,那么小球A 经多次碰撞后碰到小球B 就可以在上述展开平面内找得到一条由A 到某个'B 的直线,那么这条直线就确定了小球A 与x 轴的出射角度,则由此角度撞击小球A ,A 球一定会经过若干次的反射撞到B 。
示意图如下:小球A B 要想碰撞,当且仅当B 的某一对称点在A 小球的运动轨迹上,即存在一条经过'B A 的直线,该直线与x 轴的夹角确定了小球A 的出射方向。
易知A 击中B 的充要条件为:存在整数,m n ,满足:21212arctan()2m b y y na x x θ+-=+- 错误!未找到引用源。
或21212arctan()2m b y y na x x θ±-=+- 错误!未找到引用源。
上边界碰撞的条件(1.1)显然满足方程(1.3),其中1,0m n ==模型二:椭圆(一) 碰撞一次的情况不失一般性我们假设椭圆桌面的长半轴长度为a ,短半轴长度为b 。
以椭圆的中心为坐标原点建立平面直角坐标系,同样记小球A 的坐标为11(,)A x y ,小球B 的坐标为22(,)B x y ,小球A 与桌面边缘碰撞的点记为00(,)M x y,如下图所示:在这里我们仅考虑小球A 与x 轴上方碰撞的情形,与下半边相撞的情况相似。
这里我们给出椭圆的方程:22221x y ab+= 错误!未找到引用源。
那么在椭圆上任意点x 的切线斜率为:12'222()(1)b x f x x aa-=--错误!未找到引用源。
M 的切线与直线'BB 的交点满足方程:'00022'0()()1()()y y f x x x y y x x f x ⎧-=-⎪⎨-=--⎪⎩错误!未找到引用源。
记交点为33(,)N x y 。
又由于N 为'BB 的中点,则根据中点公式可解的'B 为:'232'23222x x x y x x ⎧=-⎪⎨=-⎪⎩ 错误!未找到引用源。
那么直线'AB 的方程为:'1211'12()y y y y x x x x--=-- 错误!未找到引用源。
又M 同时在直线'AB 与椭圆上,M 的坐标满足下列方程组'1211'122222()1y y y y x x x x x y a b ⎧--=-⎪-⎪⎨⎪+=⎪⎩错误!未找到引用源。
所以小球A 若经过一次反射与小球B 相撞,则应满足方程(1.9)。
将A,B 球心的坐标带入上述方程,若方程有实数解00(,)x y ,则小球A 反射一次即可与B 相撞,小球A 的出射角(与x 轴的夹角)为:0101arctan()y y x x θ-=-若方程(1.9)无实数解,则小球不论以何种角度出射经一次碰撞后都不会与小球B 相撞。
(二) 碰撞多次的情形对于多次碰撞的情况,给出判别条件的表达式比较困难,这里我们仅给出计算思路,以供参考。
这里我们的分析思路还是采用解答长方形桌面的折面法的思想,不过这里我们并不是一尘不变的将桌面按边界翻折,因为对于椭圆桌面来说,其上每一点都可作为翻折的边界,连一次碰撞的桌面翻折平面都不能唯一的给出,更不用谈多次。
这里我们是按照坐标的推算计算出碰撞所要满足的条件。
下面我们给出这一方法。
假设小球A 与桌面边缘相碰撞N 次后与小球B 相撞。
设第1次碰撞点的坐标为111(,)M m n 第N 次碰点的坐标为(,)N N N M m n 。
根据小球B 的坐标22(,)B x y 与(,)N N N M m n ,可以反算出111(,)N N N M m n ---,在根据(,)N N N M m n 与111(,)N N N M m n ---的坐标算出222(,)N N N M m n ---,以此类推可以一直算出第一次碰撞点的坐标111(,)M m n ,在根据222(,)M m n 与111(,)M m n ,可以计算出通过000(,)M m n (000(,)M m n 表示小球A 沿反方向与桌面的碰点坐标),那么可以计算出一条通过1A M 的直线,易知000(,)M m n 应该在这条直线上。
根据这一思路我们即可解得111(,)M m n ,从而确定出A 的出射角度(1A M 与x 轴正向的夹角)。
下面即为迭代求解的方法。
不是一般性我们在此只给出根据(,)N N N M m n 与22(,)B x y ,解得111(,)N N N M m n ---示意图如下:由方程(1.4)~(1.7)可解出22(,)B x y 的对称点的'''22(,)B x y 的坐标。
则由',NB M可确定一条直线:'2'2()N N N N n y y n x m m x--=-- 错误!未找到引用源。
又因为111(,)N N N M m n ---在椭圆上,故联立方程(1.15)与(1.6)'2'22222()1N N N N n y y n x m m x x y ab ⎧--=-⎪-⎪⎨⎪+=⎪⎩ 错误!未找到引用源。
方程(1.11)的解即为111(,)N N N M m n ---,以此类推,可解得222(,)N N N M m n ---,333(,)N N N M m n --- 111(,)M m n ,000(,)M m n 。
那么即可确定直线10M M 的方程,而11(,)A x y 又在该直线上,故带入A 的坐标即可解得(,)N N N M m n ,从而解得111(,)M m n ,故小球A 的出射角为:1111arctan()n y m x θ-=-综上所述,我们就圆满的解决了台球在长方形桌面与椭圆桌面的碰撞问题。
七. 模型的推广与评价通过对台球的碰撞问题的讨论,我们得出了在长方形桌面和椭圆桌面碰撞所满足的一般性条件,可以用于解决小球碰撞这一类问题,当然此种方法也不是仅仅使用与解决长方形桌面与椭圆桌面的问题,我们可以用这一解答思想解决所有凸集区域内小球的碰撞问题,也能获得较好的结果。
当然此模型也有自身的局限性和不完善性,如只考虑了台球在光滑桌面上的碰撞,不发生能量的损失,在现实条件下存在的机率较小,为了更加使此模型能更好的应用于生活,应该在上述模型中考虑能量的损失,考虑小球在实际运动过程中所受的摩擦力,考虑小球与桌面边缘碰撞时并不是发生严格的镜面反射,应考虑反射角度的偏差等因素。
同样本模型中也没有考虑台球桌面的底洞与中洞。
若想使本模型更加的贴近生活实际,可将上述约束条件加入本模型中,但是这样是以加大计算量为代价的,可能会出现求解困难,不能得到精确解等问题。
八. 参考文献[1] 台球与光线的数学秘密 田延彦 数学通讯1990年第一期[2] 小球碰撞检测的算法设计和台球游戏开发 韩绍兵 朱元忠 北京职业技术工业学院学报 [3] 数学数学模型(第四版) 姜启源 谢金星 叶俊 [4] 大学物理教程九. 附录下边界: 图形如下:根据模型一的方法可解得碰撞满足的条件为:1221arctan()y y x x θ+=-左边界:碰撞满足的条件为:1212arctan()y y x x θ-=+右边界:碰撞满足的条件为:1212arctan()2y y a x x θ-=--。