如果有两点重合 则三个点在一条直线上. 
否则如果三点有如下关系则在一条直线上:
(x1 - x2) / (x1 - x3) = (y1 - y2) / (y1 - y3)
...

解决方案 »

  1.   

    if(abs((float)(y2-y1)/(x2-x1)-(float)(y3-y1)/(x3-x1))<=R)
    {
    }
    其中R是你要求的精度,可以设为0,不知道这方法行不行?
      

  2.   

    if (x1==x2 && x2==x3) return true
    else if (y1 - y2) / (x1 - x2) = (y1 - y3) / (x1 - x3) return true
    else return false;和vcsongs(vcsongs)差不多,只是考虑了除零的问题
    归根到底就是公式:y=ax+b
      

  3.   

    三的点A, B, C,计算线段AB,BC,AC 的斜率,如果相等,就在一条直线上。
    斜率K={y1-y2)/(x1-x2)