點到線段的距離

2021-06-18 01:55:25 字數 749 閱讀 9322

最近由於工作任務的需要簡單研究了一下

1.可以列方程組,但太麻煩,繁瑣,不適合程式中執行

這種方法靠譜但還不夠精簡

3.用向量的方法,簡單實用,效率高。以下是我用as實現的**,

點到線段的距離 as**實現

var a:point = new point(0, 0); // 線段起始點

var b:point = new point(0, 0); // 線段終點

var c:point = new point(0, 0); // 任意點

// 已知兩點 求向量 不多說

var ab:point = new point(b.x - a.x, b.y - a.y);

var ac:point = new point(c.x - a.x, c.y - a.y);

var cb:point = new point(b.x - c.x, b.y - c.y);

var distance:number = 0;

var f1:number = ab.x*ac.x + ab.y*ac.y; // 向量ab 與向量ac的點乘

if (f1 < 0) // 表示 ab ac的夾角為鈍角,所以ac就是點c到線段ab的距離

else

else // 否則 點c到ab的垂線的長度就是 要找的距離 設垂點為d

點到線段的距離(向量)

這種做法顯然可行,只是覺得比較繁瑣,想要更簡單一點的計算方式 二,向量做法,推薦看這篇部落格 我覺說得挺好的,看了很容易理解 我自己寫的 includeusing namespace std define ll long long const int maxn 1000 10 const ll mo...

如何計算點到線段的距離

這個方式,計算量大,實現複雜,別人看 也看不懂,不好維護 今天想了乙個新辦法,也許計算量還是大,但是實現簡單,可維護.1.計算線段長度l.這個有現成公式的,如果這個也看不懂,就可以開除了 2.計算點到線段起點和末點的距離d1和d2 3.如果l d1 and l d2,說明這個三角形中 線段兩個點 線...

python點到線段的最小距離

點到線段的距離,如果點到直線的垂足位於線段中,則垂足就是所求距離 否則求點到線段端點的距離,作為所求距離 求點到線段的垂足 計算點到線的垂足def getfootpoint point,line p1,line p2 point,line p1,line p2 x,y,z x0 point 0 y0...