0

2 つの点 (A、B) で定義された線が与えられた場合、別の点 (C) がその線上にあるかどうかをどのように判断できますか?機能。後者が真実である場合、どんな助けも感謝します、ありがとう。

4

1 に答える 1

2

3 つの点が形成する角度が 180 度の場合、これらの点は同一線上にあります。別の言い方をすれば、線分 AB、AC、BC の傾きはすべて等しいということです。

勾配を解く: [AB].y/[AB].x = [AC].y/[AC].x次の便利な関数が得られます。

bool AreCollinear(Point A, Point B, Point C) 
{
    double slopesDelta = (A.y - B.y) * (A.x - C.x) - (A.y - C.y) * (A.x - B.x);
    double tolerance = 1e-6;                // substitute for your own tolerance
    return tolerance > Math.Abs(slopesDelta);
}
于 2013-03-14T18:07:24.257 に答える