Primero, asumo que estás usando cuaternarios de unidad, es decir, cuaternarios $a+b\, \textbf {i}+c\, \textbf {j}+d\, \textbf {k}$ que satisfacen $a^2 + b^2 + c^2 + d^2 = 1$ . Si no, querrás escalar tus cuaterniones antes de calcular la distancia.
La distancia entre los cuaterniones corresponderá aproximadamente a la distancia entre las orientaciones siempre que los cuaterniones estén bastante cerca uno del otro. Sin embargo, si estás comparando cuaternarios globalmente, debes recordar que $q$ y $-q$ siempre representan la misma orientación, aunque la distancia entre ellas es $2$ .
Hay mejores formas de calcular la cercanía de dos orientaciones que evitan este problema. Por ejemplo, el ángulo $ \theta $ de la rotación necesaria para pasar de una orientación a otra viene dada por la fórmula $$ \theta \;=\; \cos ^{-1} \bigl (2 \langle q_1,q_2 \rangle ^2 -1 \bigr ) $$ donde $ \langle q_1,q_2 \rangle $ denota el producto interno de los cuaterniones correspondientes: $$ \langle a_1 +b_1 \textbf {i} + c_1 \textbf {j} + d_1 \textbf {k},\; a_2 + b_2 \textbf {i} + c_2 \textbf {j} + d_2 \textbf {k} \rangle \;=\; a_1a_2 + b_1b_2 + c_1 c_2 + d_1d_2. $$ (Esta fórmula se deriva de la fórmula de doble ángulo del coseno, junto con el hecho de que el ángulo entre orientaciones es precisamente el doble del ángulo entre cuaterniones unidad).
Si se quiere una noción de distancia que pueda ser computada sin funciones de trigonometría, la cantidad $$ d(q_1,q_2) \;=\; 1 - \langle q_1,q_2 \rangle ^2 $$ es igual a $(1- \cos\theta )/2$ y da una estimación aproximada de la distancia. En particular, da $0$ cuando los cuaterniones representan la misma orientación, y da $1$ siempre que las dos orientaciones son $180^ \circ $ aparte.