Пример #1
0
        private static Tuple <Point3D, Point3D> GetHit(ITriangle[] convexHull, Point3D shotStart, Vector3D shotDirection, double percent)
        {
            var intersections = Math3D.GetIntersection_Hull_Ray(convexHull, shotStart, shotDirection);

            if (intersections.Length != 2)
            {
                return((Tuple <Point3D, Point3D>)null);
            }

            Vector3D penetrate = (intersections[1].Item1 - intersections[0].Item1) * percent;

            return(Tuple.Create(intersections[0].Item1, intersections[0].Item1 + penetrate));
        }