一道BT的数学题

来源:百度知道 编辑:UC知道 时间:2024/06/06 05:55:56
小华和小明设想用电脑模拟台球游戏,为简单起见,约定①每个球袋都视为一点,如不遇到障碍各球继续前进;②A球击中B球,意味着B球在A球前进的路线上,且B球被撞击后沿着A球原来的方向前进;③球撞击桌边后反射角度等于入射角度。设桌面上只剩下白球A和黑球B,希望A球撞击桌边点C后反弹,再击中B球。【A球(40,60),B球(70,30),桌边O(0,0)桌边R(0,120),桌边P(200,0),桌边Q(200,120)】。
Ⅰ给出一个算法,告知电脑怎样找到点C,并求出点C的坐标。
Ⅱ设在RQ上有一点S(100,120),判断A球在C点反弹击中B球后能否落入球袋S。(假定球的速度足够大)。

既然按照反射角度等于入射角度规律运动,可以利用光路的可逆性,由洞口射出一束光线,经过B点,遇到台球桌壁后反射,碰壁后再反射,...这样经过有限次反射后,如果经过A点,则最后一次碰壁点就是要求的C点.从以上分析可以看出,A,B两点一旦确定后,就决定了是否有解.

台求桌的四条边,列出4条直线方程,先看一个洞口Q,连QB得到一条直线方程,这是一条有向直线,由Q到B,求其与4条边线的第一个交点,找到交点后反射,得到一条新的直线方程,然后再求其与4条边线的第一个交点,以此类推,每得到一条新直线,就判断是否经过B点,若经过,则停止运算,最后一次碰壁点就是C点,否则继续运算,应该有一个是否有解的判据,否则将永远运行下去.其他洞口同理.说来简单,做起来就难了.