public void Inverse()
{
double modulusSquared = W * W + X * X + Y * Y + Z * Z;
if (modulusSquared <= 0) throw new InvalidOperationException();
double inverseModulusSquared = 1.0 / modulusSquared;
W = W * inverseModulusSquared;
X = X * -inverseModulusSquared;
Y = Y * -inverseModulusSquared;
Z = Z * -inverseModulusSquared;
}
public void Inverse( out Quaterniond result )