Rotating coordinate system inside loop

a=4;
b=4;
ab=a*b;
Input=zeros(ab,2);
for ii=1:a
Input((ii-1)*a+1:ii*a,1)=(a-b:-2:-(a+b)+2)'+2*(ii-1);
Input((ii-1)*a+1:ii*a,2)=(-(a+b)+2:2:a-b)'+2*(ii-1);
end
Question: Need to rotate at 45 degree.

 Accepted Answer

a=4;
b=4;
ab=a*b;
Input=zeros(ab,2);
for ii=1:a
Input((ii-1)*a+1:ii*a,1)=(a-b:-2:-(a+b)+2)'+2*(ii-1);
Input((ii-1)*a+1:ii*a,2)=(-(a+b)+2:2:a-b)'+2*(ii-1);
end
plot(Input(:, 1), Input(:, 2), 'b');
hold on;
Input2 = Input * [cosd(45), -sind(45); sind(45), cosd(45)];
plot(Input2(:, 1), Input2(:, 2), 'r');

More Answers (0)

Categories

Asked:

on 13 Feb 2022

Commented:

on 13 Feb 2022

Community Treasure Hunt

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

Start Hunting!