예제 #1
0
        public double VerticalHeight(clsPoint pt1)
        {
            //Returns the height of the line where is passes over p1
            clsLine l1 = default(clsLine);
            clsLine l2 = default(clsLine);
            double  d  = 0;
            double  d1 = 0;
            double  d2 = 0;

            l1 = new clsLine(P1.X, P1.Y, P2.X, P2.Y);
            if (l1.IsOnLine(pt1) == false)
            {
                return(0);
            }

            d1 = l1.Length;
            l1.Normalise();

            l2 = new clsLine(l1.P1, pt1);
            d2 = l1.Dot(l2);
            d  = d2 / d1;
            return(P1.Z + (P2.Z - P1.Z) * d);
        }