Accord.Imaging.Tools.Collinear C# (CSharp) Method

Collinear() public static method

Detects if three points are collinear.
public static Collinear ( PointF pt1, PointF pt2, PointF pt3 ) : bool
pt1 System.Drawing.PointF
pt2 System.Drawing.PointF
pt3 System.Drawing.PointF
return bool
        public static bool Collinear(PointF pt1, PointF pt2, PointF pt3)
        {
            return Math.Abs(
                 (pt1.Y - pt2.Y) * pt3.X +
                 (pt2.X - pt1.X) * pt3.Y +
                 (pt1.X * pt2.Y - pt1.Y * pt2.X)) < Constants.SingleEpsilon;
        }

Same methods

Tools::Collinear ( Accord.Imaging.PointH pt1, Accord.Imaging.PointH pt2, Accord.Imaging.PointH pt3 ) : bool

Usage Example

コード例 #1
0
        /// <summary>
        ///   Checks if the selected points will result in a degenerate homography.
        /// </summary>
        ///
        private bool degenerate(int[] points)
        {
            PointF[] x1 = this.pointSet1.Submatrix(points);
            PointF[] x2 = this.pointSet2.Submatrix(points);

            // If any three of the four points in each set is collinear,
            //  the resulting homography matrix will be degenerate.

            return(Tools.Collinear(x1[0], x1[1], x1[2]) ||
                   Tools.Collinear(x1[0], x1[1], x1[3]) ||
                   Tools.Collinear(x1[0], x1[2], x1[3]) ||
                   Tools.Collinear(x1[1], x1[2], x1[3]) ||

                   Tools.Collinear(x2[0], x2[1], x2[2]) ||
                   Tools.Collinear(x2[0], x2[1], x2[3]) ||
                   Tools.Collinear(x2[0], x2[2], x2[3]) ||
                   Tools.Collinear(x2[1], x2[2], x2[3]));
        }
All Usage Examples Of Accord.Imaging.Tools::Collinear