[ODE] RE: Angular velocity

Jon Watte hplus-ode at mindcontrol.org
Thu Apr 14 16:24:13 MST 2005

> I interprete _R(m, n) as mth row and nth column, so my layout of the matrix 
>    _R(0,0)  _R(0,1)  _R(0,2) 
>    _R(1,0)  _R(1,1)  _R(1,2) 
>    _R(2,0)  _R(2,1)  _R(2,2) 

That still doesn't say anything, because you need to be specific about 
whether you are using row vectors (on the left) or column vectors (on 
the right), AND you need to specify whether the layout is row major or 
column major.

IIRC, OpenGL is row major, assuming row vectors on the left, which 
means the same thing as being column major, assuming column vectors on 
the right. I believe ODE actually flips one of these conventions -- 
which of the two you choose to flip really doesn't matter, as the data 
comes out the same anyway.

>     and so matrix multiplication is applied in the left to right order. If 
> that's the case, then the function dRFromAxisAngle() is wrong, and angular 
> velocity is wrong too, because ODE has: 

I'm pretty sure angular velocity is right, so instead the matrix is 
not transposed, but instead the storage and/or vector convention is 
different from your expectation. Which means that likely the Euler angle 
functions are the wrong ones.


			/ h+

More information about the ODE mailing list