On Fri, Jul 29, 2011 at 1:57 PM, Benjamin Root <ben.r...@ou.edu> wrote:
> > > On Fri, Jul 29, 2011 at 2:52 PM, Charles R Harris < > charlesr.har...@gmail.com> wrote: > >> >> >> On Fri, Jul 29, 2011 at 11:07 AM, Martin Ling <martin-nu...@earth.li>wrote: >> >>> On Fri, Jul 29, 2011 at 09:14:00AM -0600, Charles R Harris wrote: >>> > >>> > Well, if the shuttle used a different definition then it was out >>> there >>> > somewhere. The history of quaternions is rather involved and mixed >>> up with >>> > vectors, so it may be the case that there were different >>> conventions. >>> >>> My point is that these are conventions of co-ordinate frame, not of >>> different representations of quaternions themselves. There's no two >>> "handednesses" of quaternions to support. There are an infinte number of >>> co-ordinate frames, and a quaternion can be interpreted as a rotation in >>> any one of them. It's a matter of interpretation, not calculation. >>> >>> > It might also be that the difference was between vector and >>> > coordinate rotations, but it is hard to tell without knowing how >>> > the code actually made use of the results. >>> >>> Indeed, this is the other place the duality shows up. If q is the >>> rotation of frame A relative to frame B, then a vector v in A appears >>> in B as: >>> >>> v' = q * v * q.conjugate >>> >>> while a vector u in B appears in A as: >>> >>> u' = q.conjugate * u * q >>> >>> The former is often thought of as 'rotating the vector' versus the >>> second as 'rotating the co-ordinate frame', but both are actually the >>> same operation performed using a different choice of frames. >>> >>> >> They are different, a vector is an element of a vector space independent >> of coordinate frames, coordinate frames are a collection of functions from >> the vector space to scalars. Operationally, rotating vectors is a map from >> the vector space onto itself, however the coordinates happen to be the same >> when the inverse rotation is applied to the coordinate frame, it's pretty >> much the definition of coordinate rotation. But the concepts aren't the >> same. The similarity between the operations is how covariant vectors got to >> be called contravariant tensors, the early workers in the field dealt with >> the coordinates. >> >> But that is all to the side ;) I'm wondering about the history of the >> 'versor' object and in which fields it was used. >> >> Chuck >> >> > I am starting to get very interested in this quaternion concept (and maybe > how I could use it for mplot3d), but I have never come across it before > (beyond the typical vector math that I am familiar with). Can anybody > recommend a good introductory resource to get me up to speed? > > Well, there is Robert's recommendation<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.110.5134&rep=rep1&type=pdf>, which looks sort of like a reprise of Klein & Sommerfeld's Theory of the Top<http://books.google.com/books/about/The_theory_of_the_top.html?id=xdxGF918uI8C>, but there are lots of resources out there for the application of quaternions to graphics. The main advantage of quaternions is that they provide a simply connected representation of rotations, there isn't a jump between rotations of +/- 180 degrees. Also, since they exist on the surface of a 4 dimensional ball you can interpolate rotations by a path on that surface, or even approximate same by secant lines between nearby points. Chuck
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion