public Quaterniond sub(double x, double y, double z, double w) {
        return new Quaterniond(this.x - x, this.y - y, this.z - z, this.w - w);
    }
public Quaterniond sub(double x, double y, double z, double w) {
        return new Quaterniond(this.x - x, this.y - y, this.z - z, this.w - w);
    }
public Quaterniond sub ( double x , double y , double z , double w ) { return new Quaterniond ( this . x - x , this . y - y , this . z - z , this . w - w ) ; }
Subtracts the double components of another quaternion from this one.

@param x The x (imaginary) component of the quaternion to subtract
@param y The y (imaginary) component of the quaternion to subtract
@param z The z (imaginary) component of the quaternion to subtract
@param w The w (real) component of the quaternion to subtract
@return A new quaternion, which is the difference of both
Subtracts the double components of another quaternion from this one .