我想制作一个图,然后将x-y轴旋转一个角度; 然后在旋转的轴上再次绘制相同的绘图,然后再次旋转轴以用于下一个类似的绘图
这样的事情:
hold all;
for k= 0:1:10
% rotate-axis-about-origin(angle * k)
plot(XY(:,1),XY(:,2));
end
有没有办法实现我的建议?
答案 0 :(得分:1)
您可以通过camroll
在每个步骤滚动相机来完成此操作。这是一个用于绘制正弦的玩具工作示例:
hold all
x = -3:0.01:3;
y = sin(x);
angle = 1; % in degrees
for k = 1:90 % 90 steps
plot(x,y, 'k');
camroll(angle); % roll 'angle' degrees at each step
drawnow
pause(0.05)
end
答案 1 :(得分:1)
在循环内使用旋转矩阵:
hold all;
% test vector and matrix
x = (1:10)';
y = x.^2;
XY0 = [x y];
angle = 1/180*pi; % 1 degree
for k= 0:1:10
% rotate-axis-about-origin(angle * k)
rot = [cos(angle*k) sin(angle*k);-sin(angle*k) cos(angle*k)];
XY = XY0*rot;
plot(XY(:,1),XY(:,2));
end
XY0是原始矩阵,XY每一步都会变化。
希望这就是你要找的东西。