如何在Matlab中使两个圆像轮子一样旋转

如何在Matlab中使两个圆像轮子一样旋转,matlab,rotation,Matlab,Rotation,我画了两个圆圈,并用彩色地图“jet”填充它们。然而,每次我尝试使用旋转功能,甚至是colormap的旋转功能旋转圆圈,使彩色喷流在圆圈内旋转-它完全改变了绘图-只旋转一个圆圈,填满屏幕,并以一定角度旋转 有人能解释一下我如何旋转这两个圆圈,就像它们是汽车的轮子一样吗 代码如下:(我注释掉了我旋转和旋转的尝试) 将打印更改为: for ang=1:360 cla; hold on circ1 = pcolor(x1,y1,thg); circ2 = pcolor(x2,y

我画了两个圆圈,并用彩色地图“jet”填充它们。然而,每次我尝试使用旋转功能,甚至是colormap的旋转功能旋转圆圈,使彩色喷流在圆圈内旋转-它完全改变了绘图-只旋转一个圆圈,填满屏幕,并以一定角度旋转

有人能解释一下我如何旋转这两个圆圈,就像它们是汽车的轮子一样吗

代码如下:(我注释掉了我旋转和旋转的尝试)


将打印更改为:

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?两个车轮都在旋转。