2

I just read this excellent material page:45 about Quaternion Rotation. I can not compute the result of rotation quaternion $p = [0,\boldsymbol{p}]$ where $\boldsymbol{p}$ is a vector, with $ q = [\omega, v], q^{-1}=[\omega,-v]$, both of q and $q^{-1}$ are unit vector.

When rotating $p$ with $p' = qpq^{-1}$, we finally get: $p'=(0, \boldsymbol{p}')$ and $\boldsymbol{p}'= \boldsymbol{p} + 2\omega(v\times \boldsymbol{p}) + 2(v\times(v\times \boldsymbol{p})) \tag{*}$

I'm trying to get the starred result.

Using cross product equation:
$$\begin{align} [\omega_{1}, v_{1}][\omega_{2}, v_{2}]=[\omega_{1}\omega_{2}-v_{1} \cdot v_{2}, \omega_{1}v_{2}+\omega_{2}v_{1}+v_{2}\times v_{1}] \end{align}$$ update edit: the formula above is wrong, which incur my error, the right version is: $$\begin{align} [\omega_{1}, v_{1}][\omega_{2}, v_{2}]=[\omega_{1}\omega_{2}-v_{1} \cdot v_{2}, \omega_{1}v_{2}+\omega_{2}v_{1}+v_{1}\times v_{2}] \end{align}$$


This is my try:
$$\begin{align} p' &=[\omega, v][0,\boldsymbol{p}][\omega, -v] \tag{1}\\ &= [-v\cdot\boldsymbol{p}, \omega\boldsymbol{p}+\boldsymbol{p} \times v][\omega, -v] \tag{2}\\ & = [-(v\cdot\boldsymbol{p})\omega+(\omega\boldsymbol{p}+\boldsymbol{p} \times v)\cdot(v),(v\cdot\boldsymbol{p})(v)+\omega(\omega\boldsymbol{p}+\boldsymbol{p}\times v)-v\times(\omega\boldsymbol{p}+\boldsymbol{p} \times v)] \tag{3}\\ & = [0,(v\cdot\boldsymbol{p})v+\omega^{2}\boldsymbol{p}+\omega(\boldsymbol{p}\times v)-\omega(v\times\boldsymbol{p})-v\times(\boldsymbol{p}\times v)] \tag{4}\\ & = [0,(v\cdot\boldsymbol{p})v+\omega^{2}\boldsymbol{p}-2\omega(v \times \boldsymbol{p})+v\times(v \times \boldsymbol{p})] \tag{5}\\ & = [0,v\times(v \times \boldsymbol{p})+\left \| v \right \|^{2}\boldsymbol{p}+\omega^{2}\boldsymbol{p}-2\omega(v \times \boldsymbol{p})+v\times(v \times \boldsymbol{p})] \tag{6}\\ & = [0,\boldsymbol{p}-2\omega(v \times \boldsymbol{p})+2(v\times(v \times \boldsymbol{p}))]\tag{7} \end{align}$$ with step 5 used
$a \times (b \times c)=(a \cdot c)b-(a \cdot b)c $
with step 6 used
$\omega^{2}+\left \| v \right \|^{2}=1$

which gives:
$\boldsymbol{p}'= \boldsymbol{p} - 2\omega(v\times \boldsymbol{p}) + 2(v\times(v\times \boldsymbol{p}))\tag{**}$

Note the $- 2\omega(v\times \boldsymbol{p}) $ in the double starred part. Where I am wrong ?

wangdq
  • 115

1 Answers1

0

Without checking for more errors, I am guessing it stems from this:

$$ [-v\cdot\boldsymbol{p}, \omega\boldsymbol{p}+\boldsymbol{p} \times v][\omega, -v]\label{2} $$ which would have introduced a sign error.

It should be $$ [-v\cdot\boldsymbol{p}, \omega\boldsymbol{p}+v \times \boldsymbol{p} ][\omega, -v]$$

Update: actually it appears you make this type of error several times. I'm not sure if it is a different convention you are using, but the standard one I'm using is the other way around. Crunching the numbers below.


The following revision seems to correct the problems I was detecting

$$\begin{align} p' &=[\omega, v][0,\boldsymbol{p}][\omega, -v] \tag{1}\\ &= [-v\cdot\boldsymbol{p}, \omega\boldsymbol{p}+v\times\boldsymbol{p} ][\omega, -v] \tag{2}\\ & = [-(v\cdot\boldsymbol{p})\omega+(\omega\boldsymbol{p}+ v\times \boldsymbol{p} )\cdot(v),(v\cdot\boldsymbol{p})(v)+\omega(\omega\boldsymbol{p}+v\times \boldsymbol{p})-(\omega\boldsymbol{p}+v\times \boldsymbol{p} )\times v] \tag{3}\\ & = [0,(v\cdot\boldsymbol{p})v+\omega^{2}\boldsymbol{p}+\omega(v\times\boldsymbol{p})-\omega(\boldsymbol{p}\times v)-(v\times\boldsymbol{p})\times v] \tag{4}\\ & = [0,(v\cdot\boldsymbol{p})v+\omega^{2}\boldsymbol{p}+2\omega(v \times \boldsymbol{p})+v\times(v \times \boldsymbol{p})] \tag{5}\\ & = [0,v\times(v \times \boldsymbol{p})+\left \| v \right \|^{2}\boldsymbol{p}+\omega^{2}\boldsymbol{p}+2\omega(v \times \boldsymbol{p})+v\times(v \times \boldsymbol{p})] \tag{6}\\ & = [0,\boldsymbol{p}+2\omega(v \times \boldsymbol{p})+2(v\times(v \times \boldsymbol{p}))]\tag{7} \end{align}$$

rschwieb
  • 153,510
  • Thanks a lot for your patience to edit my post and point out my error. I use the cross product formula in the book 《3d math primer for graphics and game development 》, in Chinese 2002 version, the formual is just wrong. And the formula in the material I mentioned just use q1*q0 , which inverse the writing order make me misunderstood too. I should check it in wiki earlier.I will follow your advice to use the star to reference a formula. – wangdq May 09 '16 at 01:09
  • @wangdq I hope you didn't mind the edits. I was looking at the post in a mobile app, and those long labels were screwing up everything so that it was unreadable. Probably in the web browser it looked ok, but I didn't check. – rschwieb May 09 '16 at 06:03
  • I never mind your edits.You are kind and polite. – wangdq May 09 '16 at 06:45