mpogue@vis01.dg.com (Mike Pogue) (07/02/90)
I have read in several papers, books, etc, that Euler proved a famous theorem in 1752 (or whenever), showing that for any two orientations of the same object, that there was a single rotation about a single axis that would transform one rotation to the other. Although the result is mentioned, the actual formula/ algorithm for calculating the axis of rotation and rotation angle is never given! Does anybody have this formula handy? Mike Pogue Data General Speaking for myself, not my company....
banks@proline.cs.unc.edu (David Banks) (07/04/90)
mpogue@dg.dg.com writes: > > ... Euler proved ... that for any two orientations ... > a single rotation ... would transform one rotation to the other. > > ... Does anybody have this formula handy? Mike Pique's paper, "Semantics of Interactive Rotations" (Proceedings, 1986 Chapel Hill Workshop on Interactive 3D Graphics, p. 268) offers a formula which, given a rotation matrix R, computes a direction vector V and a rotation angle theta: cos(theta) = (R11 + R22 + R33 - 1)/2 Vx = (R32 - R23)/(2 sin(theta) ) Vy = (R13 - R31)/(2 sin(theta) ) Vz = (R21 - R12)/(2 sin(theta) )
turk@Apple.COM (Ken "Turk" Turkowski) (08/13/90)
In article <580@dg.dg.com> mpogue@dg.dg.com writes: > > I have read in several papers, books, etc, that Euler >proved a famous theorem in 1752 (or whenever), showing that >for any two orientations of the same object, that there >was a single rotation about a single axis that would >transform one rotation to the other. > > Although the result is mentioned, the actual formula/ >algorithm for calculating the axis of rotation and rotation >angle is never given! > > Does anybody have this formula handy? See my paper "The Use of Coordinate Transformations in Computer Graphics" in Academic Press's new Graphics Gems book. One of the examples computes the 3x3 matrix for this transformation. If you really need the axis and angle, you might be able to do this by computing the eigenvectors of the matrix. I believe that Ned Greene has a paper in Graphics Gems on how to extract rotations from a matrix. -- Ken Turkowski @ Apple Computer, Inc., Cupertino, CA Internet: turk@apple.com Applelink: TURK UUCP: sun!apple!turk
mpogue@vis01.dg.com (Mike Pogue) (08/14/90)
In article <9715@goofy.Apple.COM>, turk@Apple.COM (Ken "Turk" Turkowski) writes: |> In article <580@dg.dg.com> mpogue@dg.dg.com writes: |> > |> > Does anybody have this formula handy? |> |> If you really need the axis and angle, you might be able to do this |> by computing the eigenvectors of the matrix. I believe that Ned Thanks....I was actually able to derive the result, as a product of three quaternions. Once I realized that I could use quaternion arithmetic, the three rotations were pretty easy. I'm sure that there is a closed form that would be much simpler, but I haven't had time to teach Mathematica about quaternions, so I could auto-simplify my expressions. I don't have enough time to sit down and do it by hand. Mike Pogue Data General Corp. Speaking for myself alone....