rotation3D

This function is a 3-Dimensional Rotation.This program performs the rotation of coordinates of an (x,y,z) figure by any angle.
12 Downloads
Updated 13 Jun 2022

View License

function [xx,yy,zz]=rotation3D(x,y,z,p,ang)
% Author && support : Amit Chakraborty
% This function is 3-Dimensional Rotaion.
% This program performs rotation of coordinates of an (x,y,z) by any angle.
% Any set of (x,y,z) data will be transformed to (xx,yy,zz) in the new rotated coordinates.
% Original and transformed data are plotted in blue and red respectively.
% p =1 ==> rotations around x-axis
% p =2 ==> rotations around y-axis
% p =3 ==> rotations around z-axis
% ang => amount of rotation. Just change with your requriement
%% Starting from below :
ang= deg2rad(ang); % Converting Degree 2 Radian.
% ang= rad2deg(ang); % Converting Radian 2 Degree.
if p==1
xx = x;
yy = y*cos(ang)-z*sin(ang);
zz = z*cos(ang)+y*sin(ang);
elseif p==2
xx = x*cos(ang)+z*sin(ang);
yy = y;
zz = z*cos(ang)-x*sin(ang);
else
xx = x*cos(ang)-y*sin(ang);
yy = y*cos(ang)+x*sin(ang);
zz = z;
end
figure;
plot3(x,y,z);
title('Original Data vs Rotated Data')
hold ;
plot3(xx,yy,zz,'r');
legend('Original','Rotated')
hold off;
end

Cite As

Amit Chakraborty (2024). rotation3D (https://www.mathworks.com/matlabcentral/fileexchange/113205-rotation3d), MATLAB Central File Exchange. Retrieved .

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

Inspired by: rotation

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0