很簡單的算法,這里是把每對線段都進行比較了。 還有一種似乎先通過x和y排序再進行交點判斷的,不過那種方法我還沒看太明白。 這里的方法如下: 1.根據線段的端點求兩條直線的交點。 2.判斷直線的交點是否在兩條線段上。 結果如下: matlab代碼如下: ...
最近總是對計算幾何方面的程序比較感興趣。 多圓求交點,要先對圓兩兩求交點。 有交點的圓分為相切圓和相交圓。 相切圓求法: .根據兩圓心求直線 .求公共弦直線方程 .求兩直線交點即兩圓切點。 相交圓求法: .求公共弦方程直線。 .公共弦直線方程和其中一個圓方程聯立求解即可。 公共弦直線方程就是兩圓方程的差。 結果如下: matlab代碼如下: main.m: circleCross.m: 多圓求交點 ...
2014-10-10 21:23 0 5169 推薦指數:
很簡單的算法,這里是把每對線段都進行比較了。 還有一種似乎先通過x和y排序再進行交點判斷的,不過那種方法我還沒看太明白。 這里的方法如下: 1.根據線段的端點求兩條直線的交點。 2.判斷直線的交點是否在兩條線段上。 結果如下: matlab代碼如下: ...
原始算法是sphere,我這里簡化為circle了。 Ritter's求最小包圍圓為線性算法,因為非常簡單,所以應用非常廣泛。 該算法求出的圓比最優圓大概會大個5%到20%左右,求最優圓應該可以用Bouncing Bubble算法,以后有機會可以嘗試一下。 Ritter's算法如下: 1. ...
如下: 處理后效果: matlab代碼如下: ...
三角形兩邊的垂直平分線就能確定外接圓。 結果如下: matlab代碼如下: ...
三角形兩角的角平分線就能確定內切圓。 結果如下: matlab代碼如下: ...
DBSCAN全稱Density-Based Spatial Clustering of Applications with Noise,是一種密度聚類算法。 和Kmeans相比,不需要事先知道數據的 ...
之前用simulink仿過一次PID算法,這次用代碼實現一遍。 該算法工程性很強,一般需要結合實際調整一個合適的參數用於控制。 matlab代碼如下: 結果如下: 當然就本例而言,0,1,0是最優參數。。。 ...
DWA英文全稱Dynamic Window Approach即動態窗口方法,是一種局部路徑規划算法,主要用來做局部避障。 算法原理是對當前速度和角速度在一定范圍內進行采樣,並對采樣后的參數在一定時間 ...