Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 22 Apr 2013
Offline Last Active Jun 06 2016 11:27 AM

Posts I've Made

In Topic: Help! iterator problem

31 December 2013 - 12:14 AM

Ok, I figured them out.  I decided to remove 'const' from function call and all problems were gone.


Non const iterator did not work in const function calls because compiler complaint about 'no match for operator =' error messages at for(...) statement.


I am using MinGW with GNU C++ 4.8.2 compiler.

In Topic: Angular Velocity and Quaternion - problems

25 April 2013 - 07:04 PM

Hello folks,


Good news!!! I now found a problem and corrected formula. It finally works!!!


Quaternion w(0, angularVelocity);


dr = 0.5 * (orientation * w);

orientation += (dr * dt);



It now rotates in local axes!!


If w * orientation, it rotates in world axes.

if orientation * w, it rotates in local axes.


I googled and found article that explains about world axes and local axes in quaternions.




In Topic: Angular Velocity and Quaternion - problems

24 April 2013 - 06:09 PM

Ok, I changed that lines to:


dr = orientation * (angularVelocity * 0.5) * orientation.conjugate();

orientation += (dr * dt);


I resolved a problem but I got another new problem.  For example, When I roll right to 90 degress, tried to yaw right but rotate 45 degrees between pitch and yaw axis.  Also, I continued to play controls, controls became locked out.  I can't yaw, pitch, or roll anymore after a few minutes when w in orentation became zero [ 0 (x, y, z)]. 


I tried that 'dr = orientation * angularVelocity * orientation.conjugate()' but it resulted the same.


Quaternion<double> conjugate()


   return Quaternion<double>(w, -x, -y, -z);