2015-03-31 100 views
-2

你能写一个MATLAB脚本来动画滚动盘的运动两次完整的旋转,还显示(作为一个轨迹)边缘点的轨迹。取:盘的半径等于10个单位,该点的半径也等于10个单位。 为您的系统生成一个静态图,使用“颤抖” 命令显示轮缘点的速度。在MATLAB中滚动(旋转和平移)2D圆圈?

这是迄今为止代码:

figure; 
%XX=[0 2 4 5 0]; 
%YY=[1 0 1 5 1]; 
NN=100; 
RR=2; 
th=linspace(0,360,NN+1)*pi/180; 
XX=RRcos(th); 
YY=RRsin(th); 

h=patch('XData',XX,... 'YData',YY,'FaceColor',[1 0 0]); 
axis([0 10 -2 8]); 
axis square 
N=100; dX=5/N; 
for ii=1:N XX=XX+dX; 
    set(h,'XData',XX); 
    drawnow; 
    pause(0.1) 
end 
+1

欢迎来到StackOverflow。我们很乐意帮助您解决您遇到的特定编程问题,但我们不在这里为您编写代码。尝试写出必要的公式并首先尝试自己的代码。 – eigenchris 2015-03-31 01:38:23

+0

图; %XX = [0 2 4 5 0]; %YY = [1 0 1 5 1]; NN = 100; RR = 2; th = linspace(0,360,NN + 1)* pi/180; XX = RR * cos(th); YY = RR * SIN(TH); H =补丁( '扩展数据',XX,... 'YDATA',YY, 'FaceColor',[1 0 0]); axis([0 10 -2 8]); 轴线方形 N = 100; dX = 5/N; 为II = 1:N XX = XX + DX; set(h,'XData',XX); drawnow; 暂停(0.1) 结束 – 2015-03-31 02:15:57

回答

0

只需添加一个定时器,然后定时器功能根据里面的转动而改变圆的位置和变换(如果你不知道如何改变位置,然后通过基本的几何概念)。