How can I get a 3D rotation matrix
Show older comments
How can I get a 3D rotation matrix by only knowing a degree? That means, firstly, set a degree, say, 10, then generate a 3D rotation matrix randomly in order that for any unit vector v from the origin, the angle between v and the rotated vector Rv would be 10 degree. Thank you so much!!
Accepted Answer
More Answers (1)
James Tursa
on 1 Jun 2015
1 vote
You can't have a rotation matrix that rotates all vectors in 3D space such that the angle between the original and rotated vector is 10 degrees. You can get an R that will do this for all vectors in a specific plane, but not all vectors in 3D space. E.g., a vector along the axis of rotation will end up being rotated 0 degrees. Other vectors, in general, will be somewhere between 0 and 10 degrees.
4 Comments
Liangke Zhao
on 2 Jun 2015
James Tursa
on 2 Jun 2015
Given a single vector v, you want a rotation matrix that rotates it 10 deg in a random direction?
Walter Roberson
on 2 Jun 2015
You required that the rotation matrix rotate "any" unit vector from the origin by 10 degrees. That cannot work. There must always be an axis of rotation, and any vector along that axis will be left unchanged.
Liangke Zhao
on 5 Jun 2015
Categories
Find more on Aerospace Blockset in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!