思路:
1、 从离散点中快速找出一条直线
2、 判断离散点集中其他点到直线的距离是否在误差允许的范围内
示意图:
算法步骤
Step1:
1、 从PN点集中随机选取一点P0,将其加入到点集PL中;
2、 从PN中选出两个未被标记过的点P1、P2;
3、 计算P0 到由P1和P2构成直线的距离,并判断其是否在Threshold误差范围内,
是则将P1、P2加入到PL点集中,同时进入step2,否则标记P1、P2;
4、 判断PN中未被标记点的数量 小于等于1,否则从第2个步骤开始执行,是则判断PN元素总数大于等于3,是则从第1个步骤开始重复执行, 否则结果为false;
Step2:
1、计算PN中所有点到PL构成直线的距离,并判断其是否在Threshold误差范围内
2、判断PL>PN,是则结束,PL即为构成同一直线的点集,PN为偏离直线的点集,如果判断结果为false,则对PN重新执行一次算法;