public Quaterniond sub(Quaterniond q) {
        return sub(q.x, q.y, q.z, q.w);
    }
public Quaterniond sub(Quaterniond q) {
        return sub(q.x, q.y, q.z, q.w);
    }
public Quaterniond sub ( Quaterniond q ) { return sub ( q . x , q . y , q . z , q . w ) ; }
Subtracts another quaternion from this one.

@param q The quaternion to subtract
@return A new quaternion, which is the difference of both
Subtracts another quaternion from this one .