- 1
- 10 994
Jacob Farnsworth
เข้าร่วมเมื่อ 4 พ.ย. 2011
Finding angles from a rotation matrix
DISCLAIMER (1/30/2020)
I made this video a long time ago, for a friend who was confronted with a very specific problem. I made the video public, hoping maybe it could help a few people. I wasn't expecting though that it would get so many views. Just keep in mind that this is made with a particular situation in mind, and the solution might not generalize particularly well. In other words, it might not be what you're looking for.
If the video is helpful, great! If not, well, don't say I didn't warn you.
I made this video a long time ago, for a friend who was confronted with a very specific problem. I made the video public, hoping maybe it could help a few people. I wasn't expecting though that it would get so many views. Just keep in mind that this is made with a particular situation in mind, and the solution might not generalize particularly well. In other words, it might not be what you're looking for.
If the video is helpful, great! If not, well, don't say I didn't warn you.
มุมมอง: 10 996
Bro thanks!!! Doing data structures homework and were getting into a bunch of matrix and vector math. So helpful
Can this be done on any arbitrary 3D transformation matrix? Doesn't the order in which the rotation transforms are implemented affect the final matrix? What about matrices based on an axis given by a unit vector as follows: [1+(1-cos(A))*(RX*RX-1) -RZ*sin(A)+RX*RY*(1-cos(A)) RY*sin(A)+RX*RZ*(1-cos(A)) 0] [RZ*sin(A)+RX*RY*(1-cos(A)) 1+(1-cos(A))*(RY*RY-1) -RX*sin(A)+RY*RZ*(1-cos(A)) 0] [-RY*sin(A)+RX*RZ*(1-cos(A)) RX*sin(A)+RY*RZ*(1-cos(A)) 1+(1-cos(A))*(RZ*RZ-1) 0] [0 0 0 1] Where A is the angle and <RX, RY, RZ> is your unit vector.
Hi, would this still apply if I did a YZY rotation?
On the second slide, where I have the individual matrices for rotations about each of the 3 axes, take Ry * Rz * Ry - making sure to replace theta with alpha, beta, gamma (or whatever you prefer) representing the Y rotation, Z rotation, and second Y rotation respectively - and multiply them together. You can then follow my logic of finding the angles in terms of the matrix elements (a,b,c,d,e,f,g,h,i) - the matrix you'll be working with will look a bit different from mine, but the logic will be more or less the same. Hopefully that helps.
K, thanks for response. By the way is it possible to extract correct euler angles given just x y z coordinate of a vector. I am using as i said ZXZ rotation, and first two angles I get are correct, but the last one, which dictate the orientation of the face or object is erroneous.