The quaternion class contains parameters q0, q1, q2 and q3
TODO - which one is real
Currently the quaternion class is still very much in development, therefore many quaternion operations are missing
- Initalisation
- Standard
- Comparison
- [Extra functionality](#Extra Functionality)
Calling the matrix with out parameters will initalise a zero quaternion
>>> pyclid.Quat()
<0, 0, 0, 0>
or values can be set by passing in parameters
>>> pyclid.Quat(1, 2, 3, 4)
<1, 2, 3, 4>
>>> a = pyclid.Quat(1, 2, 3, 4)
>>> b = pyclid.Quat(1, 2, 3, 4)
>>> a+b
<2, 4, 6, 8>
>>> a = pyclid.Quat(4, 4, 4, 4)
>>> b = pyclid.Quat(1, 2, 3, 4)
>>> a-b
<3, 2, 1, 0>
Quaternions can be multiplied by a number or another quaternion
Multiplication by a number
>>> a = pyclid.Quat(1, 2, 3, 4)
>>> a*2
<2, 4, 6, 8>
Multiplication by a quaternion
>>> a = pyclid.Quat(1, 2, 3, 4)
>>> b = pyclid.Quat(1, 2, 3, 4)
>>> a*b
<-28, 4, 6, 8>
Missing
Comparison is performed on an element by element basis between two quaternions
>>> a = pyclid.Quat(1, 2, 3, 4)
>>> b = pyclid.Quat(1, 2, 3, 4)
>>> a==b
True
>>> a = pyclid.Quat(1, 2, 3, 4)
>>> b = pyclid.Quat(5, 2, 3, 4)
>>> a!=b
True
>>> a = pyclid.Quat(1, 2, 3, 4)
>>> a.magnitude()
5.477225575051661
Returns the unit quaternion
>>> a = pyclid.Quat(1, 2, 3, 4)
>>> a.unit()
<0.182574185835, 0.36514837167, 0.547722557505, 0.73029674334>