code: public AxisAngle4d set(Quaterniondc q) {
          double acos = safeAcos(q.w());
          double invSqrt = 1.0 / Math.sqrt(1.0 - q.w() * q.w());
          this.x = q.x() * invSqrt;
          this.y = q.y() * invSqrt;
          this.z = q.z() * invSqrt;
          this.angle = acos + acos;
          return this;
      }
docs: Set this {@link AxisAngle4d} to be equivalent to the given
  {@link Quaterniondc}.
  
  @param q
  the quaternion to set this AngleAxis4d from
  @return this