objectarx之判断三点是否在一条直线上

Posted pond-zzc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了objectarx之判断三点是否在一条直线上相关的知识,希望对你有一定的参考价值。

bool CCommonFuntion::IsOnLine(AcGePoint2d& pt1, AcGePoint2d& pt2, AcGePoint2d& pt3)
{
AcGeVector3d vec1 = AcGeVector3d(pt2.x - pt1.x, pt2.y - pt1.y, 0);
AcGeVector3d vec2 = AcGeVector3d(pt3.x - pt1.x, pt3.y - pt1.y, 0);
double pi = 3.14159265;// 35897931;
//double angle = vec1.angleTo(vec2);
double angle = ((int)((vec1.angleTo(vec2)) * 100000000 + 0.5)) / 100000000.0;
if (angle == pi || angle == 0)
return true;
else
return false;
}

以上是关于objectarx之判断三点是否在一条直线上的主要内容,如果未能解决你的问题,请参考以下文章

objectarx 多段线自交检查

LeetCode Max Points on a Line

Lining Up(在一条直线上的最大点数目,暴力)

Educational Codeforces Round 41 D. Pair Of Lines

May LeetCoding Challenge8 之 交叉相乘

May LeetCoding Challenge8 之 交叉相乘