code: public Vector crossProduct(Vector o) {
          double newX = y * o.z - o.y * z;
          double newY = z * o.x - o.z * x;
          double newZ = x * o.y - o.x * y;
  
          x = newX;
          y = newY;
          z = newZ;
          return this;
      }
docs: Calculates the cross product of this vector with another. The cross
  product is defined as:
  <ul>
  <li>x = y1 * z2 - y2 * z1
  <li>y = z1 * x2 - z2 * x1
  <li>z = x1 * y2 - x2 * y1
  </ul>
  
  @param o The other vector
  @return the same vector