TriangleNet.Tools.QuadTree.DotProduct C# (CSharp) Method

DotProduct() static private method

static private DotProduct ( Point p, Point q ) : double
p Point
q Point
return double
        internal static double DotProduct(Point p, Point q)
        {
            return p.X * q.X + p.Y * q.Y;
        }

Usage Example

Ejemplo n.º 1
0
        internal static bool IsPointInTriangle(Point p, Point t0, Point t1, Point t2)
        {
            Point  point  = new Point(t1.X - t0.X, t1.Y - t0.Y);
            Point  point1 = new Point(t2.X - t0.X, t2.Y - t0.Y);
            Point  point2 = new Point(p.X - t0.X, p.Y - t0.Y);
            Point  point3 = new Point(-point.Y, point.X);
            Point  point4 = new Point(-point1.Y, point1.X);
            double num    = QuadTree.DotProduct(point2, point4) / QuadTree.DotProduct(point, point4);
            double num1   = QuadTree.DotProduct(point2, point3) / QuadTree.DotProduct(point1, point3);

            if (num >= 0 && num1 >= 0 && num + num1 <= 1)
            {
                return(true);
            }
            return(false);
        }