如何在Matlab中使两个圆像轮子一样旋转
我画了两个圆圈,并用彩色地图“jet”填充它们。然而,每次我尝试使用旋转功能,甚至是colormap的旋转功能旋转圆圈,使彩色喷流在圆圈内旋转-它完全改变了绘图-只旋转一个圆圈,填满屏幕,并以一定角度旋转 有人能解释一下我如何旋转这两个圆圈,就像它们是汽车的轮子一样吗 代码如下:(我注释掉了我旋转和旋转的尝试)如何在Matlab中使两个圆像轮子一样旋转,matlab,rotation,Matlab,Rotation,我画了两个圆圈,并用彩色地图“jet”填充它们。然而,每次我尝试使用旋转功能,甚至是colormap的旋转功能旋转圆圈,使彩色喷流在圆圈内旋转-它完全改变了绘图-只旋转一个圆圈,填满屏幕,并以一定角度旋转 有人能解释一下我如何旋转这两个圆圈,就像它们是汽车的轮子一样吗 代码如下:(我注释掉了我旋转和旋转的尝试) 将打印更改为: for ang=1:360 cla; hold on circ1 = pcolor(x1,y1,thg); circ2 = pcolor(x2,y
将打印更改为:
for ang=1:360
cla; hold on
circ1 = pcolor(x1,y1,thg);
circ2 = pcolor(x2,y2,thg);
rotate(circ2,[0 0 1],-ang);
rotate(circ1,[0 0 1],-ang);
set(circ1,'XData',get(circ1,'Xdata')+2.5); %change circ1 position
view ([0 90]);
shading interp;
axis equal;
grid off;
hold off
drawnow;
end
rotate
的问题是旋转整个图形,因此一旦一个圆在原地旋转,如果再次应用rotate,另一个圆将围绕第一个圆旋转。要解决此问题,请在同一位置创建两个圆,旋转两个圆,然后将其中一个圆放置在不同的位置将打印更改为:
for ang=1:360
cla; hold on
circ1 = pcolor(x1,y1,thg);
circ2 = pcolor(x2,y2,thg);
rotate(circ2,[0 0 1],-ang);
rotate(circ1,[0 0 1],-ang);
set(circ1,'XData',get(circ1,'Xdata')+2.5); %change circ1 position
view ([0 90]);
shading interp;
axis equal;
grid off;
hold off
drawnow;
end
rotate
的问题是旋转整个图形,因此一旦一个圆在原地旋转,如果再次应用rotate,另一个圆将围绕第一个圆旋转。要解决此问题,请在同一位置创建两个圆,旋转两个圆,然后将其中一个圆放在不同的位置请阅读并显示您的代码,否则我们找不到错误所在OK-谢谢您的提示。我现在就做。请阅读并显示您的代码,否则我们找不到错误。好的-谢谢您的提示。我现在就做。非常感谢你。它确实会旋转,但会绕另一个圆旋转。我想让这两个圆圈保持在原来的位置,在原来的位置旋转,就像从侧面看汽车一样。@Rain,我明白了。两个轮子还是只有一个?两个轮子都在旋转。非常感谢。它确实会旋转,但会绕另一个圆旋转。我想让这两个圆圈保持在原来的位置,在原来的位置旋转,就像从侧面看汽车一样。@Rain,我明白了。两个车轮或仅1?两个车轮都在旋转。