問題1:給出兩組座標點[x1,y1][x2,y2]確定直線line1?
line1的方程表示為:
分別帶入兩組座標點,因為
萬幸沒有除法(碼農最怕除法)。這就是為什麼不用斜率來表達方程的原因。
問題2:line1與line2的交點?
因為標題也寫出來了在opencv環境下,opencv中有非常好用的矩陣mat資料型別。
line1:
line2:
所以[x,y]座標為:
具體在c++程式設計實踐中,
mat ab_matrix = (mat_(2, 2) << a1,b1,a2,b2);//兩條直線的係數矩陣2*2
mat c_matrix = (mat_(2, 1) << -c1,-c2);//兩條直線的c引數矩陣2*1
mat xy_matrix = (mat_(2, 1));//兩條直線的交點座標矩陣2*1
xy_matrix = ab_matrix.inv()*c_matrix;
問題1中一開始求解直線的方程我並非想要用代數法,覺得能用矩陣標的就用矩陣(opencv中mat資料型別操作還算比較快速的),什麼情況下不能夠用矩陣法求解直線方程?
問題2中求交點座標[x,y],要用到矩陣求逆,這對於程式設計師來說與除法沒什麼區別,所以當行列式等於0,即無法求逆時意味著什麼?
C 判斷兩條直線距離
一般式的意思就是ax by c 0 role presentation ax by c 0ax by c 0如果有兩個直線a1 x b1 y c1 0a2 x b2 y c2 0 role presentation a1x b1y c1 0a2x b2y c2 0a1x b1y c1 0a2x b2...
計算兩條直線的交點 C
ps 從其他地方看到的原始碼是有問題的。下面是修正後的 計算兩條直線的交點 l1的點1座標 l1的點2座標 l2的點1座標 l2的點2座標 public static pointf getintersection pointf linefirststar,pointf linefirstend,po...
求兩條直線(線段)的交點
如圖,如何求得直線 ab 與直線 cd的交點p?以上內容摘自 演算法藝術與資訊學競賽 思路就是利用叉積求得點p分線段dc的比,然後利用高中學習的定比分點座標公式求得分點p的座標。看不懂的可以去複習下 定比分點 的知識。include include include include using nam...