Example #1
0
        public static double GetGreatestDistance(ICollection <AstronomicalBody> bodies, out Point middle)
        {
            double greatestDistance = 0;

            middle = new Point(0, 0, 0);
            Point pointBuffer = new Point(0, 0, 0);

            bodies.ToList().ForEach(b1 =>
            {
                bodies.ToList().ForEach(b2 =>
                {
                    var currentDistance = Physics.GetDistanceBetweenPoints(b1.Center, b2.Center);
                    if (currentDistance > greatestDistance)
                    {
                        greatestDistance = currentDistance;
                        pointBuffer      = Point.GetAverage(new List <Point> {
                            b1.Center, b2.Center
                        });
                    }
                });
            });

            middle = pointBuffer;
            return(greatestDistance);
        }
Example #2
0
        public static Vector GetAverage(ICollection <Vector> vectors)
        {
            List <Point> endPoints = new List <Point>();

            foreach (var vector in vectors)
            {
                Point point = new Point(vector.X, vector.Y, vector.Z);
                endPoints.Add(point);
            }

            Point  avgEndPoint     = Point.GetAverage(endPoints);
            Vector resultingVector = new Vector(avgEndPoint);

            return(resultingVector);
        }