8

After performing quaternion multiplication I am getting (0,0,0,0). Could anyone let me know what it signifies.

(1 0 0 0) - Identity quaternion, no rotation,
(0 1 0 0) - 180° turn around X axis,
(0 0 1 0) - 180° turn around Y axis,
(0 0 0 1) - 180° turn around Z axis,

Likewise what could be the explanation for (0,0,0,0)

Amir
  • 10,600
  • 9
  • 48
  • 75
  • 4
    `(0,0,0,0)` is the zero element. Quaternions form a division ring. If you get a product which is zero, one of your factors must have been zero. If not, you made an error somewhere. In any event -- why not post this question (with more context) at Math Overflow? Your question doesn't seem to involve programming. – John Coleman Dec 15 '16 at 04:56
  • 4
    In rotation context , it is undefined rotation. – minorlogic Dec 15 '16 at 10:22
  • 2
    @minorlogic Good point. If OP was trying to compose rotations and got 0 then there is definitely an error in their calculations. – John Coleman Dec 15 '16 at 14:12
  • 1
    @JohnColeman : math overflow is for research related questions, for basic mathematical facts and theorems go to math at stackexchange. – Lutz Lehmann Apr 01 '19 at 14:27
  • @LutzL Thanks. I realize that now, but didn't in 2016. I'm surprised that this question wasn't closed long ago as off-topic. – John Coleman Apr 03 '19 at 00:11
  • I'm voting to close this question as off-topic because unfortunately it belongs to [Mathematics.SE] since it is not about programming. Nevertheless it is a interesting question IMHO. – John Alexiou Sep 13 '19 at 20:58

2 Answers2

3

As mentioned by John Coleman, the (0,0,0,0) quaternion is the zero element. The only way to obtain this result using multiplications is to multiply by (0,0,0,0). Since we don't not much about the context, we cannot be more specific about the origin of the problem.

About the meaning of the (0,0,0,0): geometrically, a quaternion encodes a rotation AND a scale transformation: q = s*u, where 'q' is the quaternion, 's' is a scaling factor (a factor 's' leads to a s^2 scaling), and 'u' is a unit quaternion (a rotation). Since 'u' is non-zero by definition, the only way to obtain (0,0,0,0) is to have a scaling factor of zero combined with an undefined rotation.

3

(0,0,0,0) is not a valid rotation quaternion, as they are required to have length 1.

If you want to get an intuition and some background information on how quaternions can describe 3d rotations, this is the perfect starting point:

https://eater.net/quaternions

The two guys did an outstanding job explaining and visualizing quaternions.

tkazik
  • 919
  • 3
  • 12
  • 27