File Exchange

image thumbnail

Compute 3D rotation matrix

version 1.0.0.0 (682 Bytes) by Stanley
Simplifies computation of 3D rotation matrices.

6.2K Downloads

Updated 24 Mar 2009

No License

Given input:
r: angle to rotate, in rads
Axis: axis of rotation, defined as a 3point which connects to the origin.

Output:
3x3 Matrix R such that for an arbitrary point v, Rv is the point corresponding to v rotated around the Axis.

% example:
% rotate around a random direction a random amount and then back
% the result should be an Identity matrix

r = rand(4,1);
rotationmat3D(r(1),[r(2),r(3),r(4)]) * rotationmat3D(-r(1),[r(2),r(3),r(4)])

ans =

1.0000 0.0000 0.0000
0.0000 1.0000 0
0.0000 0 1.0000

%
% example2:
% rotate around z axis 45 degrees
Rtest = rotationmat3D(pi/4,[0 0 1])
Rtest =

0.7071 -0.7071 0
0.7071 0.7071 0
0 0 1.0000

Cite As

Stanley (2021). Compute 3D rotation matrix (https://www.mathworks.com/matlabcentral/fileexchange/23417-compute-3d-rotation-matrix), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!