一、基礎知識
本來是空間三維座標系,只是為了便於理解所以採用一般的2維座標,其實是一樣的
1、設ab線段 a(a.x,a.y),b(b.x,b.y),在ab上有一點為q,
q.x=a.x+s*(a.x-b.x);
q.y=a.y+s*(a.y-b.y);
2、設cd線段 c(c.x,c.y),d(d.x,d.y),在cd上有一點為p,
p.x=c.x+t*(c.x-d.x);
p.y=c.y+t*(c.y-d.y);
3、則求ab,cd的距離就變成了qp的長度了,也就是f(s,t)的最小值了。
4、求f(s,t)的偏導數,然後檢查範圍0
5、一般根據4的範圍有4種情況
二、**就算了,邏輯很簡單,只是後面分析階段很繁瑣,且在二維中這種方式的求法適得其反。
C 判斷空間中兩條線段是不是有交點
判斷原理 先判斷線段四點在空間中是否共面 可以用行列式來判斷 用四個點求出三個向量分別為 x1,y1,z1 x2,y2,z2 x3,y3,z3 判斷行列式 x1 x2 x3 y1 y2 y3 z1 z2 z3 或者它的轉置是否為零 若為零則四點共面 判斷平面內兩線段是否有交點 快速排斥實驗 跨立實驗...
兩條線段是否相交
可以通過叉積來判斷兩條線段是否相交,ab ac與ab ad的結果為異號,並且 cd ca與cd cb的結果為 異號,則兩條直線相交。b相交.判斷兩線段是否相交 1 快速排斥試驗 設以線段 p1p2 為對角線的矩形為 r,設以線段 q1q2 為對角線的矩形為 t,若 r t 不相交,則兩線段不可能相交...
C 根據兩條線段 計算該兩條直線的交點
也可以理解為 三角形乙個頂點 連線 內部某乙個點,延長後和另一條邊的交點。計算兩條直線的交點 l1的點1座標 l1的點2座標 l2的點1座標 l2的點2座標 public static xyz getintersection xyz linefirststar,xyz linefirstend,xy...