code: public static Quaterniond fromRotationTo(Vector3d from, Vector3d to) {
          return Quaterniond.fromAngleRadAxis(TrigMath.acos(from.dot(to) / (from.length() * to.length())), from.cross(to));
      }
docs: Creates a new quaternion from the angle-axis rotation defined from the first to the second vector.
  
  @param from The first vector
  @param to The second vector
  @return The quaternion defined by the angle-axis rotation between the vectors