Rotate matrix with interp2
4 views (last 30 days)
Show older comments
I am trying to rotate a matrix to a specific direction(vector) by using interp2.
I input Matrix and a vector.
Matrix will be the object I want to rotate(2-D matrix of nxm).
The direction which i want to rotate to will be shown as a (unit) vector.
The vector will need to be a 2x2 matrix.
The first column will be the vector of direction and the second column will be the orthogonal vector of the first.
The logic of what I want to do is like doing a rotation matrix on Cartesian coordinate system, but the sin and cos will be replaced as a unit vector.
But what I get is just a matrix full of NaN.
function [Mq]=Rotation(Matrix,vector)
ly=length(Matrix(:,1));
lx=length(Matrix(1,:));
x=1:lx;
y=1:ly;
[X,Y]=meshgrid(x,y);
Xq=X*vector(1,1)-Y*vector(2,1);
Yq=X*vector(1,2)+Y*vector(2,2);
Mq=interp2(X,Y,Matrix,Xq,Yq);
end
2 Comments
Accepted Answer
More Answers (0)
See Also
Categories
Find more on Interpolation 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!