很简单的算法,这里是把每对线段都进行比较了。 还有一种似乎先通过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即动态窗口方法,是一种局部路径规划算法,主要用来做局部避障。 算法原理是对当前速度和角速度在一定范围内进行采样,并对采样后的参数在一定时间 ...