public static (double Size, Vector3D Center) GetBound(IEnumerable <Vector3D> positions)
{
var minPos = positions.Aggregate(Vector3D.MaxValue, (s, n) => Vector3D.Min(s, n));
var maxPos = positions.Aggregate(Vector3D.MinValue, (s, n) => Vector3D.Max(s, n));
var size = Vector3D.Distance(minPos, maxPos);
var center = (minPos + maxPos) / 2;
return(size, center);
}