And*_*ard 12
我假设圆圈的运动是线性的.比方说,一个圆的中心的位置由矢量方程给出Ca = Oa + t*Da其中
Ca = (Cax, Cay)是当前位置
Oa = (Oax, Oay)是起始位置
t是经过时间
Da = (Dax, Day)是每单位时间的位移(速度).
同样,对于圆圈B的中心:Cb = Ob + t*Db.
然后,你想找到T,使得||Ca - Cb|| = (ra + rb)地方ra和rb分别圈A和B的半径.
平方双方:
||Ca-Cb||^2 = (ra+rb)^2
扩大:
(Oax + t*Dax - Obx - t*Dbx)^2 + (Oay + t*Day - Oby - t*Dby)^2 = (ra + rb)^2
从那里你应该得到一个二次多项式,你可以求解t(如果存在的话).