public static Vector3D ComponentMax(Vector3D lhs, Vector3D rhs)
 {
     return new Vector3D(
         Math.Max(lhs.X, rhs.X),
         Math.Max(lhs.Y, rhs.Y),
         Math.Max(lhs.Z, rhs.Z)
     );
 }
 public Vector3D(Vector3D vector)
 {
     X = vector.X;
     Y = vector.Y;
     Z = vector.Z;
 }
 public static Vector3D ComponentMult(Vector3D lhs, Vector3D rhs)
 {
     return new Vector3D(
         lhs.X * rhs.X,
         lhs.Y * rhs.Y,
         lhs.Z * rhs.Z
     );
 }