Quiero encontrar el equivalente geométrico de la suma y la resta de vectores en 3d para los cuaterniones. En 3d la diferencia entre 2 puntos(a y b) da el vector de un punto a otro. (b-a) da el vector de b a a y cuando lo sumo a b encuentro el punto que está a doble distancia de a en la dirección de (b-a). Quiero hacer lo mismo con los cuaterniones unitarios, pero éstos se encuentran en la esfera 4d, por lo que la suma directa no funciona. Quiero encontrar la ecuación equivalente para a-b y a+b donde a y b son cuaterniones unitarios. Debería ser algo similar a slerp pero no es intuitivo para mí cómo usarlo aquí porque la adición produce un cuaternión fuera del arco entre 2 cuaterniones.
Respuesta
¿Demasiados anuncios?Slerp es exactamente lo que quieres, pero con el parámetro de interpolación $t$ ajustado a $2$ en lugar de estar entre $0$ y $1$ . Slerp no es más que una parametrización a velocidad constante del gran círculo entre dos puntos $a$ y $b$ en una hiperesfera, tal que $t = 0$ mapas a $a$ y $t = 1$ mapas a $b$ . Configuración $t = 2$ te llevará al punto del gran círculo más alejado de $b$ como $b$ es de $a$ . Ver mi otra respuesta a una pregunta relacionada sobre las figuras de escala que se encuentran en una hiperesfera.
Actualización: En realidad, se me acaba de ocurrir que esto es exagerado, aunque da la respuesta correcta. La solución más sencilla es que el cuaternión que mapea $a$ a $b$ es simplemente $ba^{-1}$ (esto juega el papel de " $b-a$ "), y aplicando ese cuaternión a $b$ le da $ba^{-1}b$ (análogo a " $(b - a) + b$ ") que es lo que usted desea.