C++ c++;如何测试3个二维点是否不共线

C++ c++;如何测试3个二维点是否不共线,c++,distance,performance,C++,Distance,Performance,我的问题是如何确定3组点是否不共线? 最小距离为d 我知道我可以先计算两个点之间的距离,如果距离大于d,我们继续计算第三个点。其余部分应通过计算第三点和由p1和p2组成的线之间的距离来完成 如何在C++中以有效的方式实现?你是否尝试过类似点积的东西?如果你想在距离的基础上做它,考虑长边的长度和三角形中短边长度的和之间的关系。在点接近共线的极限下,这种关系会发生什么变化?@dmckee找到三角形每边的长度是可能的方法。但它有效吗?只是澄清一下,您是否希望所有三个点都与某条具有一定容错能力的直线共线

我的问题是如何确定3组点是否不共线? 最小距离为d

我知道我可以先计算两个点之间的距离,如果距离大于d,我们继续计算第三个点。其余部分应通过计算第三点和由p1和p2组成的线之间的距离来完成


如何在C++中以有效的方式实现?

你是否尝试过类似点积的东西?如果你想在距离的基础上做它,考虑长边的长度和三角形中短边长度的和之间的关系。在点接近共线的极限下,这种关系会发生什么变化?@dmckee找到三角形每边的长度是可能的方法。但它有效吗?只是澄清一下,您是否希望所有三个点都与某条具有一定容错能力的直线共线?换句话说,如果测量到假设线的距离,则所有点的距离都将小于某个距离d。另请参见: