clear;
clc;
close;
a=1;
syms t
x=a*(t-sin(t));
y=a*(1-cos(t));
ezplot(x,y,[0,2*pi]),grid on;hold on;
dy=diff(y)/diff(x);
dyy=diff(dy)/diff(x);
xx=x-(1+dy^2)*dy/dyy;%渐屈线的坐标
yy=y+(1+dy^2)/dyy;
M=50;
t=0;
xxx=subs(xx);
yyy=subs(yy);
H1=plot(xxx,yyy,’r’);hold on;grid on;axis([0,7,-2.5,2.5]);
x1=subs(x);
y1=subs(y);
H2=plot([x1,xxx],[y1,yyy],’k–‘);
H3=plot(x1,y1,’ko’);
H4=plot(xxx,yyy,’ro’);
tt=linspace(0,2*pi,M);
for i=1:M
pause(0.2);
t=tt(1:i);
xxx=subs(xx);
yyy=subs(yy);
x1=subs(x);
y1=subs(y);
set(H1,’xdata’,xxx,’ydata’,yyy);
set(H2,’xdata’,[x1(i),xxx(i)],’ydata’,[y1(i),yyy(i)]);
set(H3,’xdata’,x1(i),’ydata’,y1(i));
set(H4,’xdata’,xxx(i),’ydata’,yyy(i));
end
—————————————————————————————————————————————–
用MATLAB绘制摆线
摘要:一个圆环在一个圆周轨迹上滚动,本程序绘制其上一点在平面上
留下的轨迹。
程序:
% 实现一个圆在预定轨迹上滚动,圆上一定点留下的轨迹
clc;close
all;clear;
axis([-4,4,-4,4]);hold on;
title(‘摆线的绘制’);
% copyright:
zjliu
% Author’s email: zjliu2001@163.com
set(gcf,’DoubleBuffer’,’on’);
axis
square;
tq=linspace(0,pi*2,200);
plot(2*exp(i*tq),’k’);
z=-2;
xx=z+exp(i*tq)/4;
hc=plot(xx,’r’);
hp=plot(real(xx(1)),imag(xx(1)),’b*’);
ht=plot(real(xx(1)),imag(xx(1)),’b’);
% 摆线
t=0;dt=0.02;
zk=[xx(1)];
omega=20; % 转速
while t
t=t+dt;
dp=t*omega;
z=2*exp(i*[pi*(1-t)]);
xx=z+exp(i*(tq+dp))/4;
zk=[zk,xx(1)];
set(hc,’XData’,real(xx),’YData’,imag(xx));
set(hp,’XData’,real(xx(1)),’YData’,imag(xx(1)));
set(ht,’XData’,real(zk),’YData’,imag(zk));
pause(0.1);
end
相关资源:1stopt数据拟合软件_曲线拟合软件-深度学习文档类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!