Vector v(3,0,0); //the point
Quaternion q(Vector(0,1,0)*(pi/4.0)); //the rotation quaternion (axisangle)
Quaternion p = Quaternion(1, v.x, v.y, v.z); //w,x,y,z
Quaternion r = q * p * q;
How to rotate a point around an axis using a Quaternion?
I want to rotate a point around an axis using a Quaternion.
I found a pdf article on gamedev, though I had a bit of trouble trying implement it.
Heres what I tried from the article:
I'm not sure if what I am doing is correct, and how I am to get the new position from r?
Thanks
vector4 quat::RotateVector (vector4 v){ quat t; t.w = 0; t.x = v.x; t.y = v.y; t.z = v.z; quat h; h.w = w; h.x = x; h.y = y; h.z = z; quat p = h * t * h.Conjugate (); vector4 a ( p.x, p.y, p.z ); return a;}
That's how I do it.
-Chris
Is there no
tag here? EDIT: source...Ok. Thanks.<br><br><!--EDIT--><span class=editedby><!--/EDIT-->[Edited by - easyBob0101 on March 21, 2007 10:10:37 AM]<!--EDIT--></span><!--/EDIT-->
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement