转换摆脱共线点

时间:2010-05-30 11:48:58

标签: math geometry transform transformation

我正在编写一个解决几何问题的程序。

我的算法不能很好地处理共线点。

我是否可以应用任何转换来消除共线性?

2 个答案:

答案 0 :(得分:5)

然后我认为噪音可能实际上是解决方案。正如我在上面的评论中写的那样

  

消除共线性的一种方法是   只是为每个人添加一些噪音   点,即(x,y,z)↦(x +   0.01 *(random() - 0.5),y + 0.01 *(random() - 0.5),z + 0.01(random() - 0.5))如果random()在[0,1 [。<]中返回一个随机实数。 / p>

答案 1 :(得分:0)

如果您正在使用大量的点集,那么在每个集合中添加噪声可以解决一组中的问题,但可以在另一组中创建它。

如果是这种情况,您可以在应用噪音之前测试共线性。

共线条件是:

       x1  y1  1
  det  x2  y2  1  = 0
       x3  y3  1