計算兩條直線的交點 C

2022-02-13 14:48:47 字數 851 閱讀 5664

ps:從其他地方看到的原始碼是有問題的。下面是修正後的

///

///計算兩條直線的交點

/// ///

l1的點1座標

///l1的點2座標

///l2的點1座標

///l2的點2座標

///public

static

pointf getintersection(pointf linefirststar, pointf linefirstend, pointf linesecondstar, pointf linesecondend)

if (linesecondstar.x !=linesecondend.x)

switch

(state)

else

}case

1: //

l1存在斜率, l2平行y軸

case

2: //

l1 平行y軸,l2存在斜率

case

3: //

l1,l2都存在斜率

float x = (a * linefirststar.x - b * linesecondstar.x - linefirststar.y + linesecondstar.y) / (a -b);

float y = a * x - a * linefirststar.x +linefirststar.y;

return

newpointf(x, y);}}

//throw new exception("不可能發生的情況");

return

new pointf(0, 0

); }

C 根據兩條線段 計算該兩條直線的交點

也可以理解為 三角形乙個頂點 連線 內部某乙個點,延長後和另一條邊的交點。計算兩條直線的交點 l1的點1座標 l1的點2座標 l2的點1座標 l2的點2座標 public static xyz getintersection xyz linefirststar,xyz linefirstend,xy...

求兩條直線(線段)的交點

如圖,如何求得直線 ab 與直線 cd的交點p?以上內容摘自 演算法藝術與資訊學競賽 思路就是利用叉積求得點p分線段dc的比,然後利用高中學習的定比分點座標公式求得分點p的座標。看不懂的可以去複習下 定比分點 的知識。include include include include using nam...

求兩條直線的關係及交點

給你兩條直線,判斷這兩條直線是否共線,相交,不相交 即平行 相交的話輸出交點。判斷平行,然後通過叉積判斷是否共線。平行判斷可以判斷兩條直線的斜率是否相等。交點的話,相當於聯立方程組求解了。這些方程看模板理解的,剛才搜了下,有人講得比較清楚,借鑑下 如何判斷是否同線?由叉積的原理知道如果p1,p2,p...