由構成,而由構成,而其中都是,且如果與相交的話,則如果矩陣是可逆的,則有解,即令則所以於是可以得到的算式如果為代表這兩條線平行,如果不為且則兩條線相交,其中可以代回對應的算式求交點座標。line_a 由 (ua,ua+va) 構成,而 pa=ua+svaline_b 由 (ub,ub+vb) 構成,而 pb=ub+tvb其中 u,v,p 都是 2d vector,且 s,t∈[0,1]如果 line_a 與 line_b 相交的話,則pa=pb⇒ua+sva=ub+tvb⇒ua−ub=−sva+tvb⇒|uax−ubxuay−uby|=−s|vaxvay|+t|vbxvby|⇒|ΔuxΔuy|=|vaxvbxvayvby||−st|=M|−st|如果矩陣 M 是可逆的,則 s,t 有解,即|−st|=M−1|ΔuxΔuy|令 d=det(M)=vaxvby−vbxvay則 M−1=1d|vby−vbx−vayvax|所以 |−st|=1d|vby−vbx−vayvax||ΔuxΔuy|於是可以得到 s,t 的算式s=1d(−vbyΔux+vbxΔuy)t=1d(−vayΔux+vaxΔuy)如果 d 為 0 代表這兩條線平行,如果 d 不為 0 且 s,t∈[0,1] 則兩條線相交,其中 s,t 可以代回對應的算式求交點座標。
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up