0
我正試圖計算圖片中兩個對象指向另一個的位置。我想我會使用相交線來執行此操作,因爲對象可以轉換成直線。一個問題是,我似乎在尋找代碼主要是爲了找到無用線之間的交集,這是我不需要的。2個對象之間的相交線
我發現這個代碼從a matlab blog詳細說明如何找到相交的無限行。
A = [lineA(1,:) - lineA(2,:); lineB(2,:) - lineB(1,:)]';
if rank(A) < 2
disp('Parallel')
B = [lineA(1,:) - lineA(2,:); lineA(1,:) - lineB(1,:)]';
if rank(B) < 2
disp('Collinear')
if all((sort(lineA(:,1),'descend')-sort(lineB(:,1))) ...
.*[-1;1] <= sqrt(eps))
tf = true;
else
tf = false;
end
else
tf = false;
end
else
pq = linsolve(A,(lineB(2,:) - lineA(2,:))');
tf = all(pq>=-sqrt(eps)) & all(pq<=1+sqrt(eps));
end
我也相距約line + circle intersections看起來接近我可能需要老問題。
但問題是,我正在嘗試檢查1行與有限行相交。這張照片代表了我想要畫的東西。藍線的長度是有限的,而紅線是無限的,我試圖確定它們是否相交。
這不是很清楚,我從圖中你正在嘗試完成解決
d
。如果你正在尋找一個線段/線段交集算法,你可以找到一些信息[這裏](https://stackoverflow.com/questions/563198/how-do-you-detect-where-two-line-段相交)和[這裏](http://www.geeksforgeeks.org/check-if-two-given-line-segments-intersect/) – jodag對不起。是的,我正在尋找2條線段之間的交叉點,但是一條線段保持不變,另一條線段無限。 –