public static DualQuaternion Conjugate(DualQuaternion q) { return new DualQuaternion(Quaternion.Conjugate(q.real), Quaternion.Conjugate(q.dual)); }
public static DualQuaternion Multiply(DualQuaternion left, DualQuaternion mid, DualQuaternion right) { return new DualQuaternion( left.real* mid.real*right.real, left.real*mid.dual*right.real + left.dual*mid.real*right.real); }
public static DualQuaternion Add(DualQuaternion left, DualQuaternion right) { return new DualQuaternion(left.real+ right.real, left.dual+right.dual); }
public static DualQuaternion Conjugate(DualQuaternion q) { return(new DualQuaternion(Quaternion.Conjugate(q.real), Quaternion.Conjugate(q.dual))); }
public static DualQuaternion Multiply(DualQuaternion left, DualQuaternion mid, DualQuaternion right) { return(new DualQuaternion(left.real * mid.real * right.real, left.real * mid.dual * right.real + left.dual * mid.real * right.real)); }
public static DualQuaternion Add(DualQuaternion left, DualQuaternion right) { return(new DualQuaternion(left.real + right.real, left.dual + right.dual)); }