原始算法是sphere,我这里简化为circle了。 Ritter's求最小包围圆为线性算法,因为非常简单,所以应用非常广泛。 该算法求出的圆比最优圆大概会大个5%到20%左右,求最优圆应该可以用Bouncing Bubble算法,以后有机会可以尝试一下。 Ritter's算法如下: 1. ...
又是计算几何,我感觉最近对计算几何上瘾了。 当然,工作上也会用一些,不过工作上一般直接调用boost的geometry库。 上次写过最小包围圆,这次是最小包围矩形,要比最小包围圆复杂些。 最小包围矩形可不一定是个直立的矩形,也可能像下图一样是倾斜的。 求法如下: .求多边形凸包,这里凸包直接调用系统函数了,细节可以参考这里,虽然当时写的不怎么样。 .将凸包两个相邻的点连线作为矩形一条边。 .寻找凸 ...
2014-10-22 20:55 3 9545 推荐指数:
原始算法是sphere,我这里简化为circle了。 Ritter's求最小包围圆为线性算法,因为非常简单,所以应用非常广泛。 该算法求出的圆比最优圆大概会大个5%到20%左右,求最优圆应该可以用Bouncing Bubble算法,以后有机会可以尝试一下。 Ritter's算法如下: 1. ...
1、cvConvexHull2 寻找凸包 hull := cvConvexHull2 (ptseq, 0, CV_CLOCKWISE, 1);//ptseq,hull:pCvSeq; //画出凸包 ...
% 算法思路: % 1. 在点集中任取3点A,B,C。 % 2. 作一个包含A,B,C三点的最小圆,圆周可能通过这3点,也可能只通过其中两点,但包含第3点.后一种情况圆周上的两点一定是位于圆的一条直径的两端。 % 3. 在点集中找出距离第2步所建圆圆心最远的D点,若D点已在圆内或圆周 ...
凸包 参考 安德鲁算法 分治法(其中nfox的项目实现的是分治法) 多边形快速凸包算法(Melkman‘s Algorithm) 还可以这看cpp的代码: https://www.cnblogs. ...
起本篇题目还是比较纠结的,原因是我本意打算寻找这样一个算法:在测量数据有比较大离群点时如何估计原始模型。 上一篇曲面拟合是假设测量数据基本符合均匀分布,没有特别大的离群点的情况下,我们使用最小二乘得到了不错的拟合结果。 但是当我加入比如10个大的离群点时,该方法得到的模型就很难看了。所以我就在 ...
学习这个算法是为学习图像处理中的图割算法做准备的。 基本概念: 1.最大流是一个有向图。 2.一个流是最大流,当且仅当它的残余网络中不包括增广路径。 3.最小割就是网络中所有割中值最小的那个割,最小割是不唯一的,不过最小割的值是唯一的。 4.最大流的流量等于某一最小割的容量。 算法思想 ...
一般的最小二乘通常是一次拿到全部的数据, 对所有数据进行统一优化计算得到模型系数。 递推最小二乘是以一种递推的方式计算最小二乘,每次使用最新的测量值,来不断更新模型系数。 递推公式如下: 公式中A和B为测量值,X为模型系数。 matlab代码如下: 拟合 ...
如下: 处理后效果: matlab代码如下: ...