与えられた点AとB、およびベクトルC( Aの速度)とD(Bの速度)。
A = (x1, y1) >start point of A
B = (x2, y2) >start point of B
C = (q1, w1) >constant velocity of A
D = (q2, w2) >constant velocity of B
注:x1、y1、x2、y2、q1、q2、w1、w2はすべて定数です
編集:A&Cとb&Dが同一直線上にない場合は、作業に従ってください(Kevinが指摘しているように、衝突した場合は衝突の時間を見つけてください)
それらの線形化(適切な参照を見つけることができません)を実行します:
EQ1 => (x-x1)(w1/q1)=(y-y1) >> (x-x1)(w1/q1) + y1 = y <br>
EQ2 => (x-x2)(w2/q2)=(y-y2) >> (x-x2)(w2/q2) + y2 = y <br>
EQ1 => (w1/q1) * x + y1 - x1(w1/q1) = y
m1 * x +( b1 ) = y
EQ2 => (w2/q2) * x + y2 - x2(w2/q2) = y
m2 * x +( b2 ) = y
とのEQ1とEQ2をx
解くy
x = (b2 - b1)/(m1 - m2)
y = m1 * x + b1 OR m2 * x + b2
後で(x,y)
参照^
t1
またはを解決するt2
t1 = (x-x1) / q1
t2 = (x-x2) / q2
y
t1とt2がsに対して真であるかどうかを確認します
t1 ?= (y-y1) / w1
t2 ?= (y-y2) / w2
それらが同じである場合、はい、それらは衝突します。(x,y)
注:すべてが事前に完全に計算されていない限り、丸め誤差のため、ほとんどの場合、何も衝突しません