///<summary>Returns the length along a given direction that a vector travels.</summary>
 public static double ScalarProjectOnto(this Vector vector, Vector direction) {
     return vector * direction.Normal();
 }